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