From cb0ff3ca1d3f52e465f42564fb0477c66a8c9bb0 Mon Sep 17 00:00:00 2001 From: Alexandre Cases Date: Tue, 7 Jun 2016 22:34:34 +0200 Subject: [PATCH] Version: 2.4.3.1 --- README-LABINVENT.md | 12 +++++++++--- src/Controller/MaterielsController.php | 8 +++++++- src/Template/Element/menu_index.ctp | 11 +++++++++++ src/Template/Layout/default.ctp | 3 ++- src/Template/Materiels/add.ctp | 8 ++++---- src/Template/Materiels/edit.ctp | 10 +++++----- src/Template/Materiels/find.ctp | 4 ++-- src/Template/Materiels/index.ctp | 18 ++++++++++-------- src/Template/Materiels/view.ctp | 51 +++++++++++++++++++++++++++++++++------------------ src/Template/Pages/tools.ctp | 15 +++++++++------ tests/TestCase/Controller/MaterielsControllerTest.php | 4 ++-- webroot/js/script.js | 4 ++++ 12 files changed, 98 insertions(+), 50 deletions(-) diff --git a/README-LABINVENT.md b/README-LABINVENT.md index 735d0e9..7f51940 100755 --- a/README-LABINVENT.md +++ b/README-LABINVENT.md @@ -51,10 +51,16 @@ Logiciel testé et validé sur les configurations suivantes : VERSION ACTUELLE Date: 07/06/2016 -Version: 2.4.3.0 +Version: 2.4.3.1 -Reversionnage 2.5 -> 2.4 - +Bouton retour index, Acl, vue matériel, role sur le default layout, ... + +Demande (terminé) : https://projects.irap.omp.eu/issues/3785 + https://projects.irap.omp.eu/issues/3801 + https://projects.irap.omp.eu/issues/3797 + https://projects.irap.omp.eu/issues/3796 + https://projects.irap.omp.eu/issues/3787 + Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index 811400e..bc25ea4 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -83,7 +83,12 @@ class MaterielsController extends AppController $id = (int)$this->request->params['pass'][0]; if ($this->userHasRole('Administration')) { if($this->isToBeArchived($id)) { - return true; + if($role == 'Super Administrateur') { + return false; + } + else { + return true; + } } } } @@ -100,6 +105,7 @@ class MaterielsController extends AppController } } + return parent::isAuthorized($user); } diff --git a/src/Template/Element/menu_index.ctp b/src/Template/Element/menu_index.ctp index 945b60f..543b05b 100755 --- a/src/Template/Element/menu_index.ctp +++ b/src/Template/Element/menu_index.ctp @@ -11,6 +11,13 @@ if (strtolower($pluralHumanName) == "categories") $pluralHumanName="Catégories" echo $pluralHumanName; ?> diff --git a/src/Template/Layout/default.ctp b/src/Template/Layout/default.ctp index 6711c12..94a2a12 100755 --- a/src/Template/Layout/default.ctp +++ b/src/Template/Layout/default.ctp @@ -48,6 +48,7 @@ $cakeDescription = 'Labinvent 2.0'; '; + echo $role.'
'; echo $this->Html->link('Se déconnecter', ['controller' => 'Users', 'action' => 'logout']); } else { @@ -93,7 +94,7 @@ $cakeDescription = 'Labinvent 2.0'; - VERSION 2.4.3.0 (07/06/2016) + VERSION 2.4.3.1 (07/06/2016) diff --git a/src/Template/Materiels/add.ctp b/src/Template/Materiels/add.ctp index 8513076..bd131a8 100755 --- a/src/Template/Materiels/add.ctp +++ b/src/Template/Materiels/add.ctp @@ -86,7 +86,7 @@ else { if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) { echo $this->Form->hidden('nom_responsable', [ - 'label' => $configuration->nom_responsable, + 'label' => 'Nom du propriétaire', 'empty' => 'Choisir un utilisateur', 'default' => $username, 'options' => $utilisateurs, @@ -94,14 +94,14 @@ else { } else { echo $this->Form->input('nom_responsable', [ - 'label' => $configuration->nom_responsable, + 'label' => 'Nom du propriétaire', 'empty' => 'Choisir un utilisateur', 'default' => $username, 'options' => $utilisateurs ]); } echo $this->Form->input('email_responsable', [ - 'label' => 'Email du responsable', + 'label' => 'Email du propriétaire', 'readonly' => true, 'default' => $mail_responsable ]); @@ -109,7 +109,7 @@ else { echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]); echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]); - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { + if(in_array($role, ['Administration', 'Administration Plus'])) { echo '
Partie administrative'; echo $this->Form->input('eotp', ['label' => 'Centre financier/EOTP']); echo $this->Form->input('numero_commande', ['label' => 'Numéro de commande']); diff --git a/src/Template/Materiels/edit.ctp b/src/Template/Materiels/edit.ctp index 18a04f9..5050e81 100755 --- a/src/Template/Materiels/edit.ctp +++ b/src/Template/Materiels/edit.ctp @@ -160,7 +160,7 @@ if ($IS_VALIDATED) if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) { echo $this->Form->hidden('nom_responsable', [ - 'label' => $configuration->nom_responsable, + 'label' => 'Nom du propriétaire', 'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields), 'empty' => 'Choisir un utilisateur', 'default' => $username, @@ -168,7 +168,7 @@ if ($IS_VALIDATED) ]); } else { echo $this->Form->input('nom_responsable', [ - 'label' => $configuration->nom_responsable, + 'label' => 'Nom du propriétaire', 'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields), 'empty' => 'Choisir un utilisateur', 'default' => $username, @@ -177,13 +177,13 @@ if ($IS_VALIDATED) } if(isset($nom_ancien_responsable)){ echo $this->Form->input ('nom_ancien_responsable', [ - 'label' => 'Nom ancien responsable', + 'label' => 'Nom ancien propriétaire', 'readonly' => true, 'default' => $nom_ancien_responsable ]); } echo $this->Form->input('email_responsable', [ - 'label' => 'Email du responsable', + 'label' => 'Email du propriétaire', 'readonly' => true, 'default' => $mail_responsable ]); @@ -204,7 +204,7 @@ if ($IS_VALIDATED) 'disabled' => $isReadonlyField('prix_ht', $myReadonlyFields) ]); - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { + if(in_array($role, ['Administration', 'Administration Plus'])) { echo '
Partie administrative'; echo $this->Form->input('eotp', [ 'label' => 'Centre financier/EOTP', diff --git a/src/Template/Materiels/find.ctp b/src/Template/Materiels/find.ctp index a1e953e..a221327 100644 --- a/src/Template/Materiels/find.ctp +++ b/src/Template/Materiels/find.ctp @@ -153,7 +153,7 @@ if ($r) { ]); echo $this->Form->input ( 's_nom_responsable', [ - 'label' => $configuration->nom_responsable + 'label' => 'Nom du propriétaire' ]); echo $this->Form->input ( 's_numero_inventaire_organisme', [ 'label' => 'N° inventaire organisme' @@ -292,7 +292,7 @@ if ($r) { 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']); } - else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable'){ + else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){ echo $this->Html->link('', ['action' => 'statusArchived', $material->id], ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, diff --git a/src/Template/Materiels/index.ctp b/src/Template/Materiels/index.ctp index 291f31e..4fed186 100755 --- a/src/Template/Materiels/index.ctp +++ b/src/Template/Materiels/index.ctp @@ -112,7 +112,7 @@ if (isset ( $STATUS )) { Paginator->sort('categorie_id', 'Catégorie') ?> Paginator->sort('organisme_id', 'Org.') ?> Paginator->sort('numero_inventaire_organisme', 'N° Invent. Org.') ?> - Paginator->sort('nom_responsable', $configuration->nom_responsable) ?> + Paginator->sort('nom_responsable', 'Nom du propriétaire') ?> Paginator->sort('status', 'Statut') ?> Paginator->sort('date_acquisition', 'Date Achat') ?> Paginator->sort('etiquette', 'Et') ?> @@ -182,7 +182,7 @@ if (isset ( $STATUS )) { ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => 'Êtes-vous sur de vouloir validé '.$materiel->designation.' ?']); } - else if (h($materiel->status) == 'VALIDATED' && h($materiel->nom_responsable) == $username) { + else if (h($materiel->status) == 'VALIDATED') { echo $this->Html->link('', ['action' => 'statusToBeArchived', $materiel->id], ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, @@ -231,12 +231,14 @@ if (isset ( $STATUS )) { } if ($STATUS != 'ARCHIVED') { - echo $this->Form->submit ( $action . ' matériels cochés', [ - 'name' => 'updateSelectedStatus', - 'id' => 'updateSelectedStatus', - 'style' => 'margin: 0px' - ]); - echo "

" ; + if(!($role == 'Super Administrateur' && $STATUS == 'TOBEARCHIVED')) { + echo $this->Form->submit ( $action . ' matériels cochés', [ + 'name' => 'updateSelectedStatus', + 'id' => 'updateSelectedStatus', + 'style' => 'margin: 0px' + ]); + echo "

" ; + } } echo $this->Form->submit ( 'Exporter la liste des matériels cochés', [ 'name' => 'export', diff --git a/src/Template/Materiels/view.ctp b/src/Template/Materiels/view.ctp index b87cb7a..075331a 100755 --- a/src/Template/Materiels/view.ctp +++ b/src/Template/Materiels/view.ctp @@ -104,7 +104,7 @@ break; case "TOBEARCHIVED": - if($role != 'Responsable') { + if($role != 'Responsable'&& $role != 'Super Administrateur') { echo $this->Html->link(' Sortie inventaire', ['action' => 'statusArchived', $materiel->id, 'view'], ['title' => 'Sortir définitivement de l\'inventaire', 'style' => 'margin-right: 10px', 'escape' => false, @@ -203,28 +203,43 @@ $displayElement(__($configuration->nom_responsable), $this->Html->link(h($materiel->nom_responsable), 'mailto:'.h($materiel->email_responsable))); $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire)); - //Partie admin - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { - $displayElement(__('CentreFinancier/EOTP'), h($materiel->eotp)); - $displayElement(__('N° commande'), h($materiel->numero_commande)); - $displayElement(__('Code comptable'), h($materiel->code_comptable)); - $displayElement(__('N° de série'), h($materiel->numero_serie)); - $displayElement(__('N. Inventaire Organisme'), h($materiel->numero_inventaire_organisme)); - $displayElement(__('N. inventaire (ancien)'), h($materiel->numero_inventaire_old)); + if($role == 'Super Administrateur') { + $displayElement(__('Date création'), h($materiel->created)); + $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); + $displayElement(__('Date modification'), h($materiel->modified)); + $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); } - - - - $displayElement(__('Date création'), h($materiel->created)); - $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); - $displayElement(__('Date modification'), h($materiel->modified)); - $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); - ?> - + ?>
+ + '; + echo ''; + echo 'Informations administratives'; + echo ''; + echo '
'; + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo '
'.__('CentreFinancier/EOTP').' '.h($materiel->eotp).'
'.__('N° commande').' '.h($materiel->numero_commande).'
'.__('Code comptable').' '.h($materiel->code_comptable).'
'.__('N° de série').' '.h($materiel->numero_serie).'
'.__('N. Inventaire Organisme').' '.h($materiel->numero_inventaire_organisme).'
'.__('N. inventaire (ancien)').' '.h($materiel->numero_inventaire_old).'
'; + echo '
'; + + } + + + ?>

diff --git a/src/Template/Pages/tools.ctp b/src/Template/Pages/tools.ctp index df5f250..ef4acbe 100755 --- a/src/Template/Pages/tools.ctp +++ b/src/Template/Pages/tools.ctp @@ -5,14 +5,17 @@ '; - echo $this->Html->link('Configuration générale de l\'application', ['controller' => 'configurations', 'action' => 'view', 1]); - echo ''; + echo ''; + echo $this->Html->link('Configuration générale de l\'application', ['controller' => 'configurations', 'action' => 'view', 1]); + echo ''; endif; - echo ''; - echo $this->Html->link('Gérer le contenu variable de l\'application', ['controller' => 'pages', 'action' => 'tools_sm']); - echo ''; + if(in_array($role, ['Administration Plus', 'Super Administrateur'])) { + echo ''; + echo $this->Html->link('Gérer le contenu variable de l\'application', ['controller' => 'pages', 'action' => 'tools_sm']); + echo ''; + } + echo ''; echo $this->Html->link('Gérer les utilisateurs privilégiés', ['controller' => 'users', 'sort' => 'nom']); diff --git a/tests/TestCase/Controller/MaterielsControllerTest.php b/tests/TestCase/Controller/MaterielsControllerTest.php index 16a90d7..21da92d 100755 --- a/tests/TestCase/Controller/MaterielsControllerTest.php +++ b/tests/TestCase/Controller/MaterielsControllerTest.php @@ -598,12 +598,12 @@ class MaterielsControllerTest extends IntegrationTestCase * @return void */ public function testUpdateStatutToBeArchived() { - $this->authSuperAdmin(); + $this->authAdmin(); $this->post('/materiels/status-archived/13'); $this->get('/materiels/view/13'); - $this->assertResponseContains('ARCHIVED', "L'archivation du materiel ne se fait pas correctement."); + $this->assertResponseNotContains('TOBEARCHIVED', "L'archivation du materiel ne se fait pas correctement."); } diff --git a/webroot/js/script.js b/webroot/js/script.js index 7e4f87c..50a1710 100755 --- a/webroot/js/script.js +++ b/webroot/js/script.js @@ -58,6 +58,10 @@ $(document).ready(function() { $('#informations').toggle('fast'); toogleChevron('#i_informations'); }); + $('#t_informations_admin').click(function() { + $('#informations_admin').toggle('fast'); + toogleChevron('#i_informations_admin'); + }); $('#t_suivis').click(function() { $('#suivis').toggle('fast'); toogleChevron('#i_suivis'); -- libgit2 0.21.2