Bonjour,
Je me documente un peu sur sfDoctrineRouteCollection, et je suis tombé sur ce topic :
http://www.developpez.net/forums/d92...s/#post5203362
On y parle de l'option "model_methods" :
Je me trouve dans le cas d'un blog justement.<getMaListe> (qui peut être omis si la méthode par défaut donne satisfaction) doit retourner une doctrine_collection des objets à afficher dans la liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 produit: class: sfDoctrineRouteCollection options: model: produit module: produit prefix_path: /produit column: idProduit with_wildcard_routes: true model_methods: list: <getMaListe> object: <getMonObjet>
<getMonObjet> doit retourner un objet du model qui correspond à l'objet recherché et est utilisé pour les edit et show (si show est utilisé).
J'utilise ces méthodes pour vérifier, dans le cas d'un blog par exemple, si l'utilisateur à bien les droits pour modifier l'article et que la liste des articles ne concerne que les articles de l'utilisateur. Un foward404 permet de résoudre les tentatives de piratage avant même que l'action ne soit appelée
Je voudrais savoir comment s'y prendre pour vérifier "si l'utilisateur à bien les droits pour modifier l'article et que la liste des articles ne concerne que les articles de l'utilisateur".
Les model_methods font référence a des méthodes du fichier model/postTable.class.php :
Est-ce que quelqu'un peut m'éclairer ? Merci
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 <?php /** * Post * * This class has been auto-generated by the Doctrine ORM Framework */ class PostTable extends Doctrine_Table { /** * Returns an instance of this class. * * @return object PostTable */ public static function getInstance() { return Doctrine_Core::getTable('Post'); } public function getMonObjet() { // Requete de selection du POST avec l'id du membre en paramètre // Si aucun résultat trouvé, c'est soit parce que le Post n'existe pas ou soit parce que ce n'est pas le POST de l'user // Mais comment accéder à l'id du membre dans CETTE méthode ? Impossible. } }
Partager