Commit 3367192b0baf956b6ae65babe5a545218afcba7e

Authored by Alexandre
1 parent 974d2dd1

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
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
... ... @@ -34,7 +34,7 @@ class GroupesThematiquesTable extends AppTable
34 34 'foreignKey' => 'groupes_thematique_id'
35 35 ]);
36 36 $this->hasMany('Users', [
37   - 'foreignKey' => 'groupes_thematique_id'
  37 + 'foreignKey' => 'groupe_thematique_id'
38 38 ]);
39 39 }
40 40  
... ...
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);
... ...