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:
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:
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
précision de la version de symfony
bonjour,
je pense que c'est exactement ce que je recherche à faire mais dans un module du frontend que j'ai crée en faisant un doctrine:generate-module et non un generate-admin.
Je voudrait ajouter à toutes les requetes un "andWhere(...)", que ce soit en passant par l'action index, mais aussi filter...
Dans actions.class.php de mon module, j'ai "tenté" de surcharger la méthode buildQuery(), mais elle n'est jamais appellée.
Cela a par contre bien fonctionné en surchageant cette même méthode mais dans ma class moduleFormFilter.
Avez-vous une idée pour ce cas ?
j'utilise sf 1.4.8
Merci par avance.