Commit 3367192b0baf956b6ae65babe5a545218afcba7e
1 parent
974d2dd1
Exists in
master
and in
3 other branches
Version: 2.4.3.13
Groupes thématiques --> Utilisateur Demande (terminé) : https://projects.irap.omp.eu/issues/3783 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
Showing
12 changed files
with
31 additions
and
21 deletions
Show diff stats
README-LABINVENT.md
... | ... | @@ -51,9 +51,11 @@ Logiciel testé et validé sur les configurations suivantes : |
51 | 51 | VERSION ACTUELLE |
52 | 52 | |
53 | 53 | Date: 14/06/2016 |
54 | -Version: 2.4.3.12 | |
54 | +Version: 2.4.3.13 | |
55 | 55 | |
56 | -Bugfixes et refactoring getMailFromLDAP & getLoginFromLdap | |
56 | +Groupes thématiques --> Utilisateur | |
57 | + | |
58 | +Demande (terminé) : https://projects.irap.omp.eu/issues/3783 | |
57 | 59 | |
58 | 60 | Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 |
59 | 61 | ... | ... |
src/Controller/UsersController.php
... | ... | @@ -79,7 +79,7 @@ class UsersController extends AppController |
79 | 79 | public function index() |
80 | 80 | { |
81 | 81 | $this->paginate = [ |
82 | - 'contain' => ['GroupesMetiers'] | |
82 | + 'contain' => ['GroupesMetiers', 'GroupesThematiques'] | |
83 | 83 | ]; |
84 | 84 | $users = $this->paginate($this->Users); |
85 | 85 | |
... | ... | @@ -100,7 +100,7 @@ class UsersController extends AppController |
100 | 100 | public function view($id = null) |
101 | 101 | { |
102 | 102 | $user = $this->Users->get($id, [ |
103 | - 'contain' => ['GroupesMetiers'] | |
103 | + 'contain' => ['GroupesMetiers', 'GroupesThematiques'] | |
104 | 104 | ]); |
105 | 105 | |
106 | 106 | $this->set('user', $user); |
... | ... | @@ -125,10 +125,11 @@ class UsersController extends AppController |
125 | 125 | } |
126 | 126 | } |
127 | 127 | $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
128 | + $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); | |
128 | 129 | |
129 | 130 | $utilisateurs = TableRegistry::get('LdapConnections')->getListUsers(); |
130 | 131 | |
131 | - $this->set(compact('user', 'groupesMetiers', 'utilisateurs')); | |
132 | + $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques')); | |
132 | 133 | $this->set('_serialize', ['user']); |
133 | 134 | } |
134 | 135 | |
... | ... | @@ -154,8 +155,9 @@ class UsersController extends AppController |
154 | 155 | } |
155 | 156 | } |
156 | 157 | $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); |
158 | + $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); | |
157 | 159 | |
158 | - $this->set(compact('user', 'groupesMetiers')); | |
160 | + $this->set(compact('user', 'groupesMetiers', 'groupesThematiques')); | |
159 | 161 | $this->set('_serialize', ['user']); |
160 | 162 | } |
161 | 163 | ... | ... |
src/Model/Entity/User.php
... | ... | @@ -14,9 +14,9 @@ use Cake\Auth\DefaultPasswordHasher; |
14 | 14 | * @property string $email |
15 | 15 | * @property string $role |
16 | 16 | * @property int $groupes_metier_id |
17 | - * @property int $groupes_thematique_id | |
17 | + * @property int $groupe_thematique_id | |
18 | 18 | * @property \App\Model\Entity\GroupesMetier $groupes_metier |
19 | - * @property \App\Model\Entity\GroupesThematique $groupes_thematique | |
19 | + * @property \App\Model\Entity\GroupesThematique $groupe_thematique | |
20 | 20 | */ |
21 | 21 | class User extends Entity |
22 | 22 | { | ... | ... |
src/Model/Table/GroupesThematiquesTable.php
src/Model/Table/UsersTable.php
... | ... | @@ -34,7 +34,7 @@ class UsersTable extends AppTable |
34 | 34 | 'foreignKey' => 'groupes_metier_id' |
35 | 35 | ]); |
36 | 36 | $this->belongsTo('GroupesThematiques', [ |
37 | - 'foreignKey' => 'groupes_thematique_id' | |
37 | + 'foreignKey' => 'groupe_thematique_id' | |
38 | 38 | ]); |
39 | 39 | } |
40 | 40 | |
... | ... | @@ -95,7 +95,7 @@ class UsersTable extends AppTable |
95 | 95 | $rules->add($rules->isUnique(['username'])); |
96 | 96 | $rules->add($rules->isUnique(['email'])); |
97 | 97 | $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers')); |
98 | - $rules->add($rules->existsIn(['groupes_thematique_id'], 'GroupesThematiques')); | |
98 | + $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques')); | |
99 | 99 | return $rules; |
100 | 100 | } |
101 | 101 | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2.0'; |
94 | 94 | </i></td> |
95 | 95 | <td id="version"> |
96 | 96 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
97 | - <font color="black">VERSION 2.4.3.12 (14/06/2016)</font> | |
97 | + <font color="black">VERSION 2.4.3.13 (14/06/2016)</font> | |
98 | 98 | </td> |
99 | 99 | </tr> |
100 | 100 | </table> | ... | ... |
src/Template/Users/add.ctp
... | ... | @@ -44,6 +44,7 @@ |
44 | 44 | 'options' => ['Super Administrateur' => 'Super Administrateur', 'Administration Plus' => 'Administration Plus', 'Administration' => 'Administration', 'Responsable' => 'Responsable', 'Utilisateur' => 'Utilisateur'] |
45 | 45 | ]); |
46 | 46 | echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => 1]); |
47 | + echo $this->Form->input('groupe_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => 1]); | |
47 | 48 | ?> |
48 | 49 | </fieldset> |
49 | 50 | <?= $this->Form->submit(__('Valider')) ?> | ... | ... |
src/Template/Users/edit.ctp
... | ... | @@ -32,6 +32,7 @@ |
32 | 32 | 'options' => ['Super Administrateur' => 'Super Administrateur', 'Administration Plus' => 'Administration Plus', 'Administration' => 'Administration', 'Responsable' => 'Responsable', 'Utilisateur' => 'Utilisateur'] |
33 | 33 | ]); |
34 | 34 | echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => 1]); |
35 | + echo $this->Form->input('groupe_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => 1]); | |
35 | 36 | ?> |
36 | 37 | </fieldset> |
37 | 38 | <?= $this->Form->submit(__('Valider')) ?> | ... | ... |
src/Template/Users/index.ctp
... | ... | @@ -7,6 +7,7 @@ |
7 | 7 | <th><?= $this->Paginator->sort('nom') ?></th> |
8 | 8 | <th><?= $this->Paginator->sort('role') ?></th> |
9 | 9 | <th><?= $this->Paginator->sort('groupes_metier_id', $configuration->nom_groupe_metier) ?></th> |
10 | + <th><?= $this->Paginator->sort('groupes_thematique_id', $configuration->nom_groupe_thematique) ?></th> | |
10 | 11 | <th class="actions"><?= __('') ?></th> |
11 | 12 | </tr> |
12 | 13 | </thead> |
... | ... | @@ -16,6 +17,7 @@ |
16 | 17 | <td class="smallText"><?= $this->Html->link($user->nom, ['action' => 'view', $user->id]) ?></td> |
17 | 18 | <td class="smallText"><?= h($user->role) ?></td> |
18 | 19 | <td class="smallText"><?= $user->has('groupes_metier') ? h($user->groupes_metier->nom) : '' ?></td> |
20 | + <td class="smallText"><?= $user->has('groupes_thematique') ? h($user->groupes_thematique->nom) : '' ?></td> | |
19 | 21 | |
20 | 22 | <td class="actions" style="padding: 6px 0;"> |
21 | 23 | <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $user->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | ... | ... |
src/Template/Users/view.ctp
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | $displayElement(__('Nom'), h($user->nom)); |
22 | 22 | $displayElement(__('Rôle'), h($user->role)); |
23 | 23 | $displayElement(__($configuration->nom_groupe_metier), $user->has('groupes_metier') ? $this->Html->link($user->groupes_metier->nom, ['controller' => 'GroupesMetiers', 'action' => 'view', $user->groupes_metier->id]) : ''); |
24 | - | |
24 | + $displayElement(__($configuration->nom_groupe_thematique), $user->has('groupes_thematique') ? $this->Html->link($user->groupes_thematique->nom, ['controller' => 'GroupesThematiques', 'action' => 'view', $user->groupes_thematique->id]) : ''); | |
25 | 25 | ?> |
26 | 26 | |
27 | 27 | </table> | ... | ... |
tests/Fixture/UsersFixture.php
... | ... | @@ -24,15 +24,16 @@ class UsersFixture extends TestFixture |
24 | 24 | 'email' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], |
25 | 25 | 'role' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], |
26 | 26 | 'groupes_metier_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], |
27 | - 'groupes_thematique_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], | |
27 | + 'groupe_thematique_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], | |
28 | 28 | '_indexes' => [ |
29 | 29 | 'fk_users_groupes_travails1' => ['type' => 'index', 'columns' => ['groupes_metier_id'], 'length' => []], |
30 | + 'fk_users_groupe_thematique_id' => ['type' => 'index', 'columns' => ['groupe_thematique_id'], 'length' => []], | |
30 | 31 | ], |
31 | 32 | '_constraints' => [ |
32 | 33 | 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], |
33 | 34 | 'login_UNIQUE' => ['type' => 'unique', 'columns' => ['username'], 'length' => []], |
34 | 35 | 'fk_users_groupes_travails1' => ['type' => 'foreign', 'columns' => ['groupes_metier_id'], 'references' => ['groupes_metiers', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], |
35 | - 'fk_users_groupe_thematique_id' => ['type' => 'foreign', 'columns' => ['groupes_thematique_id'], 'references' => ['groupes_thematiques', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], | |
36 | + 'fk_users_groupe_thematique_id' => ['type' => 'foreign', 'columns' => ['groupe_thematique_id'], 'references' => ['groupes_thematiques', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], | |
36 | 37 | ], |
37 | 38 | '_options' => [ |
38 | 39 | 'engine' => 'InnoDB', |
... | ... | @@ -55,7 +56,7 @@ class UsersFixture extends TestFixture |
55 | 56 | 'email' => 'testa@test.fr', |
56 | 57 | 'role' => 'Super Administrateur', |
57 | 58 | 'groupes_metier_id' => 1, |
58 | - 'groupes_thematique_id' => 1 | |
59 | + 'groupe_thematique_id' => 1 | |
59 | 60 | ], |
60 | 61 | [ |
61 | 62 | 'id' => 2, |
... | ... | @@ -65,7 +66,7 @@ class UsersFixture extends TestFixture |
65 | 66 | 'email' => 'testz@test.fr', |
66 | 67 | 'role' => 'Administration Plus', |
67 | 68 | 'groupes_metier_id' => 1, |
68 | - 'groupes_thematique_id' => 1 | |
69 | + 'groupe_thematique_id' => 1 | |
69 | 70 | ], |
70 | 71 | [ |
71 | 72 | 'id' => 3, |
... | ... | @@ -75,7 +76,7 @@ class UsersFixture extends TestFixture |
75 | 76 | 'email' => 'teste@test.fr', |
76 | 77 | 'role' => 'Administration', |
77 | 78 | 'groupes_metier_id' => 1, |
78 | - 'groupes_thematique_id' => 1 | |
79 | + 'groupe_thematique_id' => 1 | |
79 | 80 | ], |
80 | 81 | [ |
81 | 82 | 'id' => 4, |
... | ... | @@ -85,7 +86,7 @@ class UsersFixture extends TestFixture |
85 | 86 | 'email' => 'testr@test.fr', |
86 | 87 | 'role' => 'Responsable', |
87 | 88 | 'groupes_metier_id' => 1, |
88 | - 'groupes_thematique_id' => 1 | |
89 | + 'groupe_thematique_id' => 1 | |
89 | 90 | ], |
90 | 91 | [ |
91 | 92 | 'id' => 5, |
... | ... | @@ -95,7 +96,7 @@ class UsersFixture extends TestFixture |
95 | 96 | 'email' => 'testt@test.fr', |
96 | 97 | 'role' => 'Utilisateur', |
97 | 98 | 'groupes_metier_id' => 1, |
98 | - 'groupes_thematique_id' => 1 | |
99 | + 'groupe_thematique_id' => 1 | |
99 | 100 | ], |
100 | 101 | ]; |
101 | 102 | } | ... | ... |
tests/TestCase/Controller/UsersControllerTest.php
... | ... | @@ -93,7 +93,8 @@ class UsersControllerTest extends IntegrationTestCase |
93 | 93 | 'password' => 'test', |
94 | 94 | 'email' => 'testo@test.fr', |
95 | 95 | 'role' => 'Super Administrateur', |
96 | - 'groupes_metier_id' => 1 | |
96 | + 'groupes_metier_id' => 1, | |
97 | + 'groupe_thematique_id' => 1 | |
97 | 98 | ]; |
98 | 99 | |
99 | 100 | $this->post('/users/add', $data); | ... | ... |