Tu utilises doctrine ?

Utilises alors la methode buildQuery que tu surcharges et qui te permet de 
filtrer la liste avec l'id du collaborateur


Merci beaucoup

Mais j'aimerais surtout retourner à la liste avec un filtre spécifié par le
lien (l'id du collaborateur).
Ensuite, l'utilisateur pourra éventuellement affiner le filtre.

Et surtout cela évite d'avoir une action et un template de plus à gérer...
Alors qu'il y a déjà tout ce que je veux dans la liste.

Sinon effectivement il y a un lien explicite entre les deux tables :
business.collaborator_id = collaborator.id :)
De même je passe par l'admin generator.
 

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de [email protected]
Envoyé : vendredi 18 septembre 2009 11:17
À : [email protected]
Objet : [symfony-fr] Re: Linkto() vers filter


Bonjour,
Tu veux pouvoir à partir d'un collaborateur afficher la liste de ses
affaires ?

je suppose que ta table affaire est liée à ta table collaborateur ?

Crée une route :
affaire_collaborateur:
  url:     /affaire/:id (identifiant du collaborateur)
  class:   sfDoctrineRoute (ou propel)
  options: { model: 'model collaborateur', type:object }
  param:   { module: 'le module qui sera executé', action: 'l action qui
sera executé', sf_format: html }
  requirements: { sf_method: get }
 
Dans ce cas, il suffit de faire (pour doctrine):
link_to('titre du lien',affaire_collaborateur',Doctrine::getTable('ton model
collaborateur')->find('id du collaborateur')

le lien va pointer sur le module et l'action décrite dans la route en
propageant l'objet collaborateur. Symphony va même jusqu'a indiquer dans
l'url l'id du collaborateur à condition que id soit bien un champs du model
collaborateur
le lien généré devrait etre : /affaire/id collaborateur

A toi apres de faire ce que tu veux dans le module et l'action sachant que
l'object collaborateur est récupéré par $this->getRoute()->getObject()

Cdt,



Bonjour

J'ai des affaires liée chacune à un collaborateur.
Losrque j'affiche une affaire, le nom du collaborateur apparaît. 

Sur ce nom, j'aimerais avoir un lien qui renvoie vers la liste des affaires
mais avec le filtre qui prend en compte le client.

J'ai essayé de faire qqch en m'inspirant du 'Reset' du filter :

<?php echo link_to($service->getCollaborator(), 'business_collection',
array('action' => 'filter'), array('query_string' =>
'business_filters[followed_by]='.$service->getCollaboratorId(), 'method' =>
'post')) ?>
 
Malheureusement, le formulaire ne veut pas passer : il y a une erreur sur
CSRF token :(
Effectivement, sur le formulaire créé par le link_to(), l'attribut name de
la balise CSRF est : _csrf_token
Alors que dans le formulaire du filtre il est : business_filters__csrf_token

Auriez-vous une idée permettant de changer ce nom du CSRF token ?

Merci d'avance







--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à