IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Filtres Admingen + Criteria Symfony 1.4 [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut Filtres Admingen + Criteria Symfony 1.4
    Bonjour, dans le cadre d'une appli, j'ai une liste admingen avec des filtres, cependant j'ai besoin d'ajouter un criteria pour filtrer dans un premier l'affichage global de la liste(je veux que les utilisateurs puisse voir les commandes du marché dans lequel ils sont et pas d'autres).

    Le builde Criteria marche bien, mais les filtres après ne marchent plus.

    Voici mon code d'action class :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
      /**
         * Overrides the preExecute based implementation
         * to set the user from the custom configuration obejct.
         *
         * @return void
         */
        public function preExecute()
        {
            parent::preExecute();
            $this->configuration->setUser($this->getUser());
            $this->checkMarket();
            $this->dispatcher->connect('admin.build_query', array($this,'myBuildCriteria'));
        }
     
     
        /** 
         * Build order list with Criteria
         * 
         * @param sfEvent        $event as eventLoading object
         * @param Doctrine_Query $query as Doctrine Query
         * 
         * @return JSON Array
         */
        public function myBuildCriteria($event, Doctrine_Query $query)
        {
            if ($this->getUser()->getMarket()->getId()) {
                $query=Doctrine::getTable('Order')->createQuery()
                ->select()->from('Order')->where('market_id= ?', $this->getUser()->getMarket()->getId());
            }
            return $query;
        }
    Et voici le contenu de mon fichier generator.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    generator:
      class: sfDoctrineGenerator
      param:
        model_class:           Order
        theme:                 admin
        non_verbose_templates: true
        with_show:             false
        singular:              ~
        plural:                ~
        route_prefix:          order
        with_doctrine_route:   true
        actions_base_class:    sfActions
     
        config:
          actions: ~
          fields:  ~
          list:    
              display: [ order_number, status, created_at, updated_at ]
              object_actions:
                  Print Order: ~
                  Edit:        ~
                  _delete:     ~
     
          filter:  
              display: [ order_number, status, created_at, updated_at ]
          form: 
              display: [ order_number, customer_number, salesman_number, currency_id, purchase_order_number, last_modified_by_id ]   
          edit:    ~
          new:     ~
    Je me suis dit que je pouvais mettre le criteria dans l'executeIndex mais apparemment il veut pas l'exécuter a cet endroit là

    D'avance Merci

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu veux que le filtre initial lors de l'affichage t'affiche des données pré-filtrées. Ce filtre serait modifiable, ensuite, par l'utilisateur pour correspondre à ces besoins.

    Est-ce cela ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut
    voila, je filtre sur le marché par le criteria, et après je veux filtrer par les champs du filter de mon admingen, mais que ca filtre sur les donées déja préfiltrées

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Donc le filtre d'origine ne doit pas pouvoir être modifié par les utilisateurs ?

    Ils vont travailler sur une partie des données et dans cette partie des données ils pourront procéder à d'autre filtres et/ou tris ?

    Est-ce bien cela ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 61
    Par défaut
    Exactement,

    En fait j'affiche une liste de commandes, chaque commande est rattaché a une boutique, et je veux que l'utilisateur ne puisse que voir les commandes rattachées a sa boutique, et qu'il puisse filtrer dessus.
    Sachant que tout a été généré par l'admingen, mais déja les 2/3 des fonctions sont overridés, alors je suis plus a une de plus.

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Dans mes souvenirs (je n'ai pas de V1 installée au boulot), tu peux, dans les paramètres de ton admingen, préciser la méthode a appelée pour récupérer la requête initial.

    Précise la méthode, écris, dans ton objet du modèle, la méthode qui retourne la bonne requête et roule...

    Tous les filtres prendront pour base cette méthode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Filtre Front-end Symfony 1.4
    Par Nbats dans le forum Symfony
    Réponses: 0
    Dernier message: 06/11/2012, 12h08
  2. [1.x] Lier deux liste avec les filtres symfony
    Par jotatan dans le forum Symfony
    Réponses: 8
    Dernier message: 04/01/2011, 17h01
  3. [1.x] Creer un filtre sur un module CRUD sur Symfony 1.1
    Par katie.gillot dans le forum Symfony
    Réponses: 1
    Dernier message: 28/10/2008, 17h00
  4. Filtre passe Bande
    Par Mau dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 28/06/2002, 17h03
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo