diff --git a/README-LABINVENT.md b/README-LABINVENT.md index dad576f..e28ccde 100755 --- a/README-LABINVENT.md +++ b/README-LABINVENT.md @@ -51,9 +51,11 @@ Logiciel testé et validé sur les configurations suivantes : VERSION ACTUELLE Date: 14/06/2016 -Version: 2.4.3.12 +Version: 2.4.3.13 -Bugfixes et refactoring getMailFromLDAP & getLoginFromLdap +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 diff --git a/src/Controller/UsersController.php b/src/Controller/UsersController.php index 4839673..88342d1 100755 --- a/src/Controller/UsersController.php +++ b/src/Controller/UsersController.php @@ -79,7 +79,7 @@ class UsersController extends AppController public function index() { $this->paginate = [ - 'contain' => ['GroupesMetiers'] + 'contain' => ['GroupesMetiers', 'GroupesThematiques'] ]; $users = $this->paginate($this->Users); @@ -100,7 +100,7 @@ class UsersController extends AppController public function view($id = null) { $user = $this->Users->get($id, [ - 'contain' => ['GroupesMetiers'] + 'contain' => ['GroupesMetiers', 'GroupesThematiques'] ]); $this->set('user', $user); @@ -125,10 +125,11 @@ class UsersController extends AppController } } $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); + $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); $utilisateurs = TableRegistry::get('LdapConnections')->getListUsers(); - $this->set(compact('user', 'groupesMetiers', 'utilisateurs')); + $this->set(compact('user', 'groupesMetiers', 'utilisateurs', 'groupesThematiques')); $this->set('_serialize', ['user']); } @@ -154,8 +155,9 @@ class UsersController extends AppController } } $groupesMetiers = $this->Users->GroupesMetiers->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); + $groupesThematiques = $this->Users->GroupesThematiques->find('list', [ 'keyField' => 'id', 'valueField' => 'nom']); - $this->set(compact('user', 'groupesMetiers')); + $this->set(compact('user', 'groupesMetiers', 'groupesThematiques')); $this->set('_serialize', ['user']); } diff --git a/src/Model/Entity/User.php b/src/Model/Entity/User.php index 4373ab3..19bc5ac 100755 --- a/src/Model/Entity/User.php +++ b/src/Model/Entity/User.php @@ -14,9 +14,9 @@ use Cake\Auth\DefaultPasswordHasher; * @property string $email * @property string $role * @property int $groupes_metier_id - * @property int $groupes_thematique_id + * @property int $groupe_thematique_id * @property \App\Model\Entity\GroupesMetier $groupes_metier - * @property \App\Model\Entity\GroupesThematique $groupes_thematique + * @property \App\Model\Entity\GroupesThematique $groupe_thematique */ class User extends Entity { diff --git a/src/Model/Table/GroupesThematiquesTable.php b/src/Model/Table/GroupesThematiquesTable.php index a509b87..d1442e7 100755 --- a/src/Model/Table/GroupesThematiquesTable.php +++ b/src/Model/Table/GroupesThematiquesTable.php @@ -34,7 +34,7 @@ class GroupesThematiquesTable extends AppTable 'foreignKey' => 'groupes_thematique_id' ]); $this->hasMany('Users', [ - 'foreignKey' => 'groupes_thematique_id' + 'foreignKey' => 'groupe_thematique_id' ]); } diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index 30beea6..6252714 100755 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -34,7 +34,7 @@ class UsersTable extends AppTable 'foreignKey' => 'groupes_metier_id' ]); $this->belongsTo('GroupesThematiques', [ - 'foreignKey' => 'groupes_thematique_id' + 'foreignKey' => 'groupe_thematique_id' ]); } @@ -95,7 +95,7 @@ class UsersTable extends AppTable $rules->add($rules->isUnique(['username'])); $rules->add($rules->isUnique(['email'])); $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers')); - $rules->add($rules->existsIn(['groupes_thematique_id'], 'GroupesThematiques')); + $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques')); return $rules; } diff --git a/src/Template/Layout/default.ctp b/src/Template/Layout/default.ctp index e851268..ea62899 100755 --- a/src/Template/Layout/default.ctp +++ b/src/Template/Layout/default.ctp @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2.0'; - VERSION 2.4.3.12 (14/06/2016) + VERSION 2.4.3.13 (14/06/2016) diff --git a/src/Template/Users/add.ctp b/src/Template/Users/add.ctp index 4d68d06..a011e3f 100755 --- a/src/Template/Users/add.ctp +++ b/src/Template/Users/add.ctp @@ -44,6 +44,7 @@ 'options' => ['Super Administrateur' => 'Super Administrateur', 'Administration Plus' => 'Administration Plus', 'Administration' => 'Administration', 'Responsable' => 'Responsable', 'Utilisateur' => 'Utilisateur'] ]); echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => 1]); + echo $this->Form->input('groupe_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => 1]); ?> Form->submit(__('Valider')) ?> diff --git a/src/Template/Users/edit.ctp b/src/Template/Users/edit.ctp index 4bd4127..5ccbb08 100755 --- a/src/Template/Users/edit.ctp +++ b/src/Template/Users/edit.ctp @@ -32,6 +32,7 @@ 'options' => ['Super Administrateur' => 'Super Administrateur', 'Administration Plus' => 'Administration Plus', 'Administration' => 'Administration', 'Responsable' => 'Responsable', 'Utilisateur' => 'Utilisateur'] ]); echo $this->Form->input('groupes_metier_id', ['label' => $configuration->nom_groupe_metier, 'options' => $groupesMetiers, 'default' => 1]); + echo $this->Form->input('groupe_thematique_id', ['label' => $configuration->nom_groupe_thematique, 'options' => $groupesThematiques, 'default' => 1]); ?> Form->submit(__('Valider')) ?> diff --git a/src/Template/Users/index.ctp b/src/Template/Users/index.ctp index f025a75..f1e4b4f 100755 --- a/src/Template/Users/index.ctp +++ b/src/Template/Users/index.ctp @@ -7,6 +7,7 @@ Paginator->sort('nom') ?> Paginator->sort('role') ?> Paginator->sort('groupes_metier_id', $configuration->nom_groupe_metier) ?> + Paginator->sort('groupes_thematique_id', $configuration->nom_groupe_thematique) ?> @@ -16,6 +17,7 @@ Html->link($user->nom, ['action' => 'view', $user->id]) ?> role) ?> has('groupes_metier') ? h($user->groupes_metier->nom) : '' ?> + has('groupes_thematique') ? h($user->groupes_thematique->nom) : '' ?> Html->link(__(''), ['action' => 'view', $user->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Users/view.ctp b/src/Template/Users/view.ctp index 199356a..6543cf2 100755 --- a/src/Template/Users/view.ctp +++ b/src/Template/Users/view.ctp @@ -21,7 +21,7 @@ $displayElement(__('Nom'), h($user->nom)); $displayElement(__('Rôle'), h($user->role)); $displayElement(__($configuration->nom_groupe_metier), $user->has('groupes_metier') ? $this->Html->link($user->groupes_metier->nom, ['controller' => 'GroupesMetiers', 'action' => 'view', $user->groupes_metier->id]) : ''); - + $displayElement(__($configuration->nom_groupe_thematique), $user->has('groupes_thematique') ? $this->Html->link($user->groupes_thematique->nom, ['controller' => 'GroupesThematiques', 'action' => 'view', $user->groupes_thematique->id]) : ''); ?> diff --git a/tests/Fixture/UsersFixture.php b/tests/Fixture/UsersFixture.php index 94a1f52..503baa4 100755 --- a/tests/Fixture/UsersFixture.php +++ b/tests/Fixture/UsersFixture.php @@ -24,15 +24,16 @@ class UsersFixture extends TestFixture 'email' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], 'role' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], 'groupes_metier_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'groupes_thematique_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], + 'groupe_thematique_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], '_indexes' => [ 'fk_users_groupes_travails1' => ['type' => 'index', 'columns' => ['groupes_metier_id'], 'length' => []], + 'fk_users_groupe_thematique_id' => ['type' => 'index', 'columns' => ['groupe_thematique_id'], 'length' => []], ], '_constraints' => [ 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], 'login_UNIQUE' => ['type' => 'unique', 'columns' => ['username'], 'length' => []], 'fk_users_groupes_travails1' => ['type' => 'foreign', 'columns' => ['groupes_metier_id'], 'references' => ['groupes_metiers', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], - 'fk_users_groupe_thematique_id' => ['type' => 'foreign', 'columns' => ['groupes_thematique_id'], 'references' => ['groupes_thematiques', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], + 'fk_users_groupe_thematique_id' => ['type' => 'foreign', 'columns' => ['groupe_thematique_id'], 'references' => ['groupes_thematiques', 'id'], 'update' => 'noAction', 'delete' => 'noAction', 'length' => []], ], '_options' => [ 'engine' => 'InnoDB', @@ -55,7 +56,7 @@ class UsersFixture extends TestFixture 'email' => 'testa@test.fr', 'role' => 'Super Administrateur', 'groupes_metier_id' => 1, - 'groupes_thematique_id' => 1 + 'groupe_thematique_id' => 1 ], [ 'id' => 2, @@ -65,7 +66,7 @@ class UsersFixture extends TestFixture 'email' => 'testz@test.fr', 'role' => 'Administration Plus', 'groupes_metier_id' => 1, - 'groupes_thematique_id' => 1 + 'groupe_thematique_id' => 1 ], [ 'id' => 3, @@ -75,7 +76,7 @@ class UsersFixture extends TestFixture 'email' => 'teste@test.fr', 'role' => 'Administration', 'groupes_metier_id' => 1, - 'groupes_thematique_id' => 1 + 'groupe_thematique_id' => 1 ], [ 'id' => 4, @@ -85,7 +86,7 @@ class UsersFixture extends TestFixture 'email' => 'testr@test.fr', 'role' => 'Responsable', 'groupes_metier_id' => 1, - 'groupes_thematique_id' => 1 + 'groupe_thematique_id' => 1 ], [ 'id' => 5, @@ -95,7 +96,7 @@ class UsersFixture extends TestFixture 'email' => 'testt@test.fr', 'role' => 'Utilisateur', 'groupes_metier_id' => 1, - 'groupes_thematique_id' => 1 + 'groupe_thematique_id' => 1 ], ]; } diff --git a/tests/TestCase/Controller/UsersControllerTest.php b/tests/TestCase/Controller/UsersControllerTest.php index 13d992a..3b46d39 100755 --- a/tests/TestCase/Controller/UsersControllerTest.php +++ b/tests/TestCase/Controller/UsersControllerTest.php @@ -93,7 +93,8 @@ class UsersControllerTest extends IntegrationTestCase 'password' => 'test', 'email' => 'testo@test.fr', 'role' => 'Super Administrateur', - 'groupes_metier_id' => 1 + 'groupes_metier_id' => 1, + 'groupe_thematique_id' => 1 ]; $this->post('/users/add', $data); -- libgit2 0.21.2