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" :

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>
<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

<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 me trouve dans le cas d'un blog justement.

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 :

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.
 
    }
}
Est-ce que quelqu'un peut m'éclairer ? Merci