bonjour,
je cherche à afficher les noms des groupes des utilisateurs dans mon module admin sf_guard_user.
Voici mon schema.yml pour la partie SfDoctrineGuardPlugin
Voici mon generator.yml avec la notion de groups (relation schema.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
30
31
32
33
34
35
36
37
38
39
40
41 sfGuardUser: actAs: [Timestampable] columns: id: type: integer(4) primary: true autoincrement: true username: type: string(128) notnull: true unique: true algorithm: type: string(128) default: sha1 notnull: true salt: string(128) password: string(128) is_active: type: boolean default: 1 is_super_admin: type: boolean default: false last_login: type: timestamp indexes: is_active_idx: fields: [is_active] relations: groups: class: sfGuardGroup local: user_id foreign: group_id refClass: sfGuardUserGroup foreignAlias: Users permissions: class: sfGuardPermission local: user_id foreign: permission_id refClass: sfGuardUserPermission foreignAlias: Users
J'ai également mis les liaisons de tables dans le fichier sfGuardUserTable.class.php pour pouvoir récupérer le nom du groupe
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 generator: class: sfDoctrineGenerator param: model_class: sfGuardUser theme: admin non_verbose_templates: true with_show: false singular: ~ plural: ~ route_prefix: sf_guard_user with_doctrine_route: true config: list: #titre de la liste title: Users List #ordre et element a afficher display: [id, =Utilisateur, groups, last_login, is_active] #nb par page max_per_page: 15 #ordonner la liste sort: [username, asc] #Intitule des colonnes fields: is_active: label: Active Utilisateur: label: User groups: label: Group last_login: label: Last login is_active: label: Active table_method: retrieveFrontendUserList #action possibles batch_actions: _delete: ~ pdfexport: {label: Export to PDF, action: pdfexport} csvexport: {label: Export to CSV, action: csvexport} filter: #elements de filtre display: [is_active, last_login, groups_list] form: class: sfGuardUserAdminForm display: "NONE": [username, password, utilisateur] "Permissions and groups": [is_active, permissions_list] edit: title: Edit an user new: title: Add an user
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //Optimisation de la requete avec les relations public function retrieveFrontendUserList(Doctrine_Query $q) { $rootAlias = $q->getRootAlias(); $q->leftJoin($rootAlias . '.groups g'); $rootAlias = $q->getRootAlias(); $q->leftJoin($rootAlias . '.permissions p'); return $q; }
Ceci me retourne l'affichage suivant dans ma liste des utilisateurs.
Qu'est-ce qui ne convient pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <pre> Doctrine_Collection data : Array( 0 : Object(sfGuardGroup) ) </pre>
Merci.
Partager