Commit cb0ff3ca1d3f52e465f42564fb0477c66a8c9bb0

Authored by Alexandre
1 parent 440caf8f

Version: 2.4.3.1

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
README-LABINVENT.md
... ... @@ -51,10 +51,16 @@ Logiciel testé et validé sur les configurations suivantes :
51 51 VERSION ACTUELLE
52 52  
53 53 Date: 07/06/2016
54   -Version: 2.4.3.0
  54 +Version: 2.4.3.1
55 55  
56   -Reversionnage 2.5 -> 2.4
57   -
  56 +Bouton retour index, Acl, vue matériel, role sur le default layout, ...
  57 +
  58 +Demande (terminé) : https://projects.irap.omp.eu/issues/3785
  59 + https://projects.irap.omp.eu/issues/3801
  60 + https://projects.irap.omp.eu/issues/3797
  61 + https://projects.irap.omp.eu/issues/3796
  62 + https://projects.irap.omp.eu/issues/3787
  63 +
58 64 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
59 65  
60 66 ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
... ...
src/Controller/MaterielsController.php
... ... @@ -83,7 +83,12 @@ class MaterielsController extends AppController
83 83 $id = (int)$this->request->params['pass'][0];
84 84 if ($this->userHasRole('Administration')) {
85 85 if($this->isToBeArchived($id)) {
86   - return true;
  86 + if($role == 'Super Administrateur') {
  87 + return false;
  88 + }
  89 + else {
  90 + return true;
  91 + }
87 92 }
88 93 }
89 94 }
... ... @@ -100,6 +105,7 @@ class MaterielsController extends AppController
100 105 }
101 106 }
102 107  
  108 +
103 109  
104 110 return parent::isAuthorized($user);
105 111 }
... ...
src/Template/Element/menu_index.ctp
... ... @@ -11,6 +11,13 @@ if (strtolower($pluralHumanName) == "categories") $pluralHumanName="Catégories"
11 11 echo $pluralHumanName;
12 12 ?></h3>
13 13 <ul>
  14 +
  15 + <li>
  16 + <?php
  17 + echo $this->Html->link ('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-1)', ['escape' => false]);
  18 + ?>
  19 + </li>
  20 +
14 21 <li>
15 22 <?php
16 23 $bol = false;
... ... @@ -50,6 +57,10 @@ echo $pluralHumanName;
50 57 ['action' => 'add'],
51 58 ['escape' => false]);
52 59 }
  60 +
53 61 ?>
  62 +
  63 +
54 64 </li>
  65 +
55 66 </ul>
... ...
src/Template/Layout/default.ctp
... ... @@ -48,6 +48,7 @@ $cakeDescription = &#39;Labinvent 2.0&#39;;
48 48 <?php
49 49 if (isset($username) && $username != " ") {
50 50 echo 'Bienvenue '.$username.'<br/>';
  51 + echo $role.'<br/>';
51 52 echo $this->Html->link('Se déconnecter', ['controller' => 'Users', 'action' => 'logout']);
52 53 }
53 54 else {
... ... @@ -93,7 +94,7 @@ $cakeDescription = &#39;Labinvent 2.0&#39;;
93 94 </i></td>
94 95 <td id="version">
95 96 <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) -->
96   - <font color="black">VERSION 2.4.3.0 (07/06/2016)</font>
  97 + <font color="black">VERSION 2.4.3.1 (07/06/2016)</font>
97 98 </td>
98 99 </tr>
99 100 </table>
... ...
src/Template/Materiels/add.ctp
... ... @@ -86,7 +86,7 @@ else {
86 86  
87 87 if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
88 88 echo $this->Form->hidden('nom_responsable', [
89   - 'label' => $configuration->nom_responsable,
  89 + 'label' => 'Nom du propriétaire',
90 90 'empty' => 'Choisir un utilisateur',
91 91 'default' => $username,
92 92 'options' => $utilisateurs,
... ... @@ -94,14 +94,14 @@ else {
94 94 }
95 95 else {
96 96 echo $this->Form->input('nom_responsable', [
97   - 'label' => $configuration->nom_responsable,
  97 + 'label' => 'Nom du propriétaire',
98 98 'empty' => 'Choisir un utilisateur',
99 99 'default' => $username,
100 100 'options' => $utilisateurs
101 101 ]);
102 102 }
103 103 echo $this->Form->input('email_responsable', [
104   - 'label' => 'Email du responsable',
  104 + 'label' => 'Email du propriétaire',
105 105 'readonly' => true,
106 106 'default' => $mail_responsable
107 107 ]);
... ... @@ -109,7 +109,7 @@ else {
109 109 echo $this->Form->input('organisme_id', ['options' => $organismes, 'style' => 'width: 380px', 'empty' => 'Choisir un organisme', 'default' => $Organisme_id]);
110 110 echo $this->Form->input('prix_ht', ['label' => 'Prix HT (€)', 'default' => $Prix_ht]);
111 111  
112   - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
  112 + if(in_array($role, ['Administration', 'Administration Plus'])) {
113 113 echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>';
114 114 echo $this->Form->input('eotp', ['label' => 'Centre financier/EOTP']);
115 115 echo $this->Form->input('numero_commande', ['label' => 'Numéro de commande']);
... ...
src/Template/Materiels/edit.ctp
... ... @@ -160,7 +160,7 @@ if ($IS_VALIDATED)
160 160  
161 161 if(!(in_array($role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']))) {
162 162 echo $this->Form->hidden('nom_responsable', [
163   - 'label' => $configuration->nom_responsable,
  163 + 'label' => 'Nom du propriétaire',
164 164 'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields),
165 165 'empty' => 'Choisir un utilisateur',
166 166 'default' => $username,
... ... @@ -168,7 +168,7 @@ if ($IS_VALIDATED)
168 168 ]);
169 169 } else {
170 170 echo $this->Form->input('nom_responsable', [
171   - 'label' => $configuration->nom_responsable,
  171 + 'label' => 'Nom du propriétaire',
172 172 'disabled' => $isReadonlyField('nom_responsable', $myReadonlyFields),
173 173 'empty' => 'Choisir un utilisateur',
174 174 'default' => $username,
... ... @@ -177,13 +177,13 @@ if ($IS_VALIDATED)
177 177 }
178 178 if(isset($nom_ancien_responsable)){
179 179 echo $this->Form->input ('nom_ancien_responsable', [
180   - 'label' => 'Nom ancien responsable',
  180 + 'label' => 'Nom ancien propriétaire',
181 181 'readonly' => true,
182 182 'default' => $nom_ancien_responsable
183 183 ]);
184 184 }
185 185 echo $this->Form->input('email_responsable', [
186   - 'label' => 'Email du responsable',
  186 + 'label' => 'Email du propriétaire',
187 187 'readonly' => true,
188 188 'default' => $mail_responsable
189 189 ]);
... ... @@ -204,7 +204,7 @@ if ($IS_VALIDATED)
204 204 'disabled' => $isReadonlyField('prix_ht', $myReadonlyFields)
205 205 ]);
206 206  
207   - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
  207 + if(in_array($role, ['Administration', 'Administration Plus'])) {
208 208 echo '<div style="border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; margin-bottom: 0; background: #EEE;"><span style="font-size: 9px; color: red;">Partie administrative</span>';
209 209 echo $this->Form->input('eotp', [
210 210 'label' => 'Centre financier/EOTP',
... ...
src/Template/Materiels/find.ctp
... ... @@ -153,7 +153,7 @@ if ($r) {
153 153 ]);
154 154  
155 155 echo $this->Form->input ( 's_nom_responsable', [
156   - 'label' => $configuration->nom_responsable
  156 + 'label' => 'Nom du propriétaire'
157 157 ]);
158 158 echo $this->Form->input ( 's_numero_inventaire_organisme', [
159 159 'label' => 'N° inventaire organisme'
... ... @@ -292,7 +292,7 @@ if ($r) {
292 292 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']);
293 293  
294 294 }
295   - else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable'){
  295 + else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){
296 296 echo $this->Html->link('<i class="icon-inbox"></i>',
297 297 ['action' => 'statusArchived', $material->id],
298 298 ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,
... ...
src/Template/Materiels/index.ctp
... ... @@ -112,7 +112,7 @@ if (isset ( $STATUS )) {
112 112 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th>
113 113 <th><?= $this->Paginator->sort('organisme_id', 'Org.') ?></th>
114 114 <th><?= $this->Paginator->sort('numero_inventaire_organisme', 'N° Invent. Org.') ?></th>
115   - <th><?= $this->Paginator->sort('nom_responsable', $configuration->nom_responsable) ?></th>
  115 + <th><?= $this->Paginator->sort('nom_responsable', 'Nom du propriétaire') ?></th>
116 116 <th><?= $this->Paginator->sort('status', 'Statut') ?></th>
117 117 <th><?= $this->Paginator->sort('date_acquisition', 'Date Achat') ?></th>
118 118 <th><?= $this->Paginator->sort('etiquette', 'Et') ?></th>
... ... @@ -182,7 +182,7 @@ if (isset ( $STATUS )) {
182 182 ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false,
183 183 'confirm' => 'Êtes-vous sur de vouloir validé '.$materiel->designation.' ?']);
184 184 }
185   - else if (h($materiel->status) == 'VALIDATED' && h($materiel->nom_responsable) == $username) {
  185 + else if (h($materiel->status) == 'VALIDATED') {
186 186 echo $this->Html->link('<i class="icon-inbox"></i>',
187 187 ['action' => 'statusToBeArchived', $materiel->id],
188 188 ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,
... ... @@ -231,12 +231,14 @@ if (isset ( $STATUS )) {
231 231 }
232 232  
233 233 if ($STATUS != 'ARCHIVED') {
234   - echo $this->Form->submit ( $action . ' matériels cochés', [
235   - 'name' => 'updateSelectedStatus',
236   - 'id' => 'updateSelectedStatus',
237   - 'style' => 'margin: 0px'
238   - ]);
239   - echo "<br /><br />" ;
  234 + if(!($role == 'Super Administrateur' && $STATUS == 'TOBEARCHIVED')) {
  235 + echo $this->Form->submit ( $action . ' matériels cochés', [
  236 + 'name' => 'updateSelectedStatus',
  237 + 'id' => 'updateSelectedStatus',
  238 + 'style' => 'margin: 0px'
  239 + ]);
  240 + echo "<br /><br />" ;
  241 + }
240 242 }
241 243 echo $this->Form->submit ( 'Exporter la liste des matériels cochés', [
242 244 'name' => 'export',
... ...
src/Template/Materiels/view.ctp
... ... @@ -104,7 +104,7 @@
104 104 break;
105 105  
106 106 case "TOBEARCHIVED":
107   - if($role != 'Responsable') {
  107 + if($role != 'Responsable'&& $role != 'Super Administrateur') {
108 108 echo $this->Html->link('<i class="icon-ok-sign"></i> Sortie inventaire',
109 109 ['action' => 'statusArchived', $materiel->id, 'view'],
110 110 ['title' => 'Sortir définitivement de l\'inventaire', 'style' => 'margin-right: 10px', 'escape' => false,
... ... @@ -203,28 +203,43 @@
203 203 $displayElement(__($configuration->nom_responsable), $this->Html->link(h($materiel->nom_responsable), 'mailto:'.h($materiel->email_responsable)));
204 204 $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire));
205 205  
206   - //Partie admin
207   - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
208   - $displayElement(__('CentreFinancier/EOTP'), h($materiel->eotp));
209   - $displayElement(__('N° commande'), h($materiel->numero_commande));
210   - $displayElement(__('Code comptable'), h($materiel->code_comptable));
211   - $displayElement(__('N° de série'), h($materiel->numero_serie));
212   - $displayElement(__('N. Inventaire Organisme'), h($materiel->numero_inventaire_organisme));
213   - $displayElement(__('N. inventaire (ancien)'), h($materiel->numero_inventaire_old));
  206 + if($role == 'Super Administrateur') {
  207 + $displayElement(__('Date création'), h($materiel->created));
  208 + $displayElement(__('Nom du créateur'), h($materiel->nom_createur));
  209 + $displayElement(__('Date modification'), h($materiel->modified));
  210 + $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur));
214 211 }
215   -
216   -
217   -
218   - $displayElement(__('Date création'), h($materiel->created));
219   - $displayElement(__('Nom du créateur'), h($materiel->nom_createur));
220   - $displayElement(__('Date modification'), h($materiel->modified));
221   - $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur));
222 212  
223   - ?>
224   -
  213 + ?>
225 214 </table>
226 215 </div>
  216 +
227 217  
  218 + <?php
  219 + //Partie admin
  220 + if(in_array($role, ['Administration', 'Administration Plus'])) {
  221 + echo '<h3 id="t_informations_admin" style="cursor: pointer;">';
  222 + echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>';
  223 + echo '<span style="text-decoration: underline;">Informations administratives</span>';
  224 + echo '</h3>';
  225 + echo '<div id="informations_admin" style="margin-bottom: 20px;">';
  226 + echo '<table>';
  227 + echo '<tr><th style="width: 250px;"></th><th></th></tr>';
  228 +
  229 + echo '<tr><td><strong>'.__('CentreFinancier/EOTP').' </strong></td><td>'.h($materiel->eotp).'</td></tr>';
  230 + echo '<tr><td><strong>'.__('N° commande').' </strong></td><td>'.h($materiel->numero_commande).'</td></tr>';
  231 + echo '<tr><td><strong>'.__('Code comptable').' </strong></td><td>'.h($materiel->code_comptable).'</td></tr>';
  232 + echo '<tr><td><strong>'.__('N° de série').' </strong></td><td>'.h($materiel->numero_serie).'</td></tr>';
  233 + echo '<tr><td><strong>'.__('N. Inventaire Organisme').' </strong></td><td>'.h($materiel->numero_inventaire_organisme).'</td></tr>';
  234 + echo '<tr><td><strong>'.__('N. inventaire (ancien)').' </strong></td><td>'.h($materiel->numero_inventaire_old).'</td></tr>';
  235 +
  236 + echo '</table>';
  237 + echo '</div>';
  238 +
  239 + }
  240 +
  241 +
  242 + ?>
228 243  
229 244  
230 245 <h3 id="t_suivis" style="cursor: pointer;">
... ...
src/Template/Pages/tools.ctp
... ... @@ -5,14 +5,17 @@
5 5 <tr><th></th></tr>
6 6 <?php
7 7 if($role == 'Super Administrateur'):
8   - echo '<tr><td>';
9   - echo $this->Html->link('Configuration générale de l\'application', ['controller' => 'configurations', 'action' => 'view', 1]);
10   - echo '</td></tr>';
  8 + echo '<tr><td>';
  9 + echo $this->Html->link('Configuration générale de l\'application', ['controller' => 'configurations', 'action' => 'view', 1]);
  10 + echo '</td></tr>';
11 11 endif;
12 12  
13   - echo '<tr><td>';
14   - echo $this->Html->link('Gérer le contenu variable de l\'application', ['controller' => 'pages', 'action' => 'tools_sm']);
15   - echo '</td></tr>';
  13 + if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
  14 + echo '<tr><td>';
  15 + echo $this->Html->link('Gérer le contenu variable de l\'application', ['controller' => 'pages', 'action' => 'tools_sm']);
  16 + echo '</td></tr>';
  17 + }
  18 +
16 19  
17 20 echo '<tr><td>';
18 21 echo $this->Html->link('Gérer les utilisateurs privilégiés', ['controller' => 'users', 'sort' => 'nom']);
... ...
tests/TestCase/Controller/MaterielsControllerTest.php
... ... @@ -598,12 +598,12 @@ class MaterielsControllerTest extends IntegrationTestCase
598 598 * @return void
599 599 */
600 600 public function testUpdateStatutToBeArchived() {
601   - $this->authSuperAdmin();
  601 + $this->authAdmin();
602 602  
603 603 $this->post('/materiels/status-archived/13');
604 604 $this->get('/materiels/view/13');
605 605  
606   - $this->assertResponseContains('ARCHIVED', "L'archivation du materiel ne se fait pas correctement.");
  606 + $this->assertResponseNotContains('TOBEARCHIVED', "L'archivation du materiel ne se fait pas correctement.");
607 607 }
608 608  
609 609  
... ...
webroot/js/script.js
... ... @@ -58,6 +58,10 @@ $(document).ready(function() {
58 58 $('#informations').toggle('fast');
59 59 toogleChevron('#i_informations');
60 60 });
  61 + $('#t_informations_admin').click(function() {
  62 + $('#informations_admin').toggle('fast');
  63 + toogleChevron('#i_informations_admin');
  64 + });
61 65 $('#t_suivis').click(function() {
62 66 $('#suivis').toggle('fast');
63 67 toogleChevron('#i_suivis');
... ...