Commit 93ddd72e8d07184570e925e4fdfcbfd4e08234ca
1 parent
a998c907
Exists in
master
and in
3 other branches
Materiels/edit :
- bugfix - simplifié la vue
Showing
2 changed files
with
41 additions
and
5 deletions
Show diff stats
src/Controller/AppController.php
... | ... | @@ -259,15 +259,19 @@ class AppController extends Controller { |
259 | 259 | $USER_IS_ADMIN = ($profile == self::PROFILE_ADMIN); |
260 | 260 | $USER_IS_ADMINPLUS = ($profile == self::PROFILE_ADMINPLUS); |
261 | 261 | $USER_IS_SUPERADMIN = ($profile == self::PROFILE_SUPERADMIN); |
262 | + $USER_IS_RESPONSABLE_OR_MORE = ($profile >= self::PROFILE_RESPONSABLE); | |
262 | 263 | $USER_IS_ADMIN_OR_MORE = ($profile >= self::PROFILE_ADMIN); |
264 | + $USER_IS_ADMINPLUS_OR_MORE = ($profile >= self::PROFILE_ADMINPLUS); | |
263 | 265 | |
264 | 266 | $this->set('USER_IS_UTILISATEUR', $USER_IS_UTILISATEUR); |
265 | 267 | $this->set('USER_IS_RESPONSABLE', $USER_IS_RESPONSABLE); |
266 | 268 | $this->set('USER_IS_ADMIN', $USER_IS_ADMIN); |
267 | 269 | $this->set('USER_IS_ADMINPLUS', $USER_IS_ADMINPLUS); |
268 | 270 | $this->set('USER_IS_SUPERADMIN', $USER_IS_SUPERADMIN); |
271 | + $this->set('USER_IS_RESPONSABLE_OR_MORE', $USER_IS_RESPONSABLE_OR_MORE); | |
269 | 272 | $this->set('USER_IS_ADMIN_OR_MORE', $USER_IS_ADMIN_OR_MORE); |
270 | - | |
273 | + $this->set('USER_IS_ADMINPLUS_OR_MORE', $USER_IS_ADMINPLUS_OR_MORE); | |
274 | + | |
271 | 275 | $this->set('userConnected', $user); |
272 | 276 | |
273 | 277 | $this->set('idGmNa', TableRegistry::get('GroupesMetiers')->find()->where([ | ... | ... |
src/Template/Materiels/edit.ctp
1 | 1 | <?php |
2 | 2 | use Cake\ORM\TableRegistry; |
3 | + | |
4 | +$USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]); | |
5 | + | |
6 | +$USER_IS_RESPONSABLE_AND_SAME_GROUP = | |
7 | + $USER_IS_RESPONSABLE | |
8 | + && | |
9 | + ( | |
10 | + ( | |
11 | + isset($userConnected->groupes_metier_id) | |
12 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
13 | + ) | |
14 | + || | |
15 | + ( | |
16 | + isset($userConnected->groupe_thematique_id) | |
17 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
18 | + ) | |
19 | + ); | |
20 | + | |
3 | 21 | $administrationData = array( |
4 | 22 | 'eotp', |
5 | 23 | 'numero_commande', |
... | ... | @@ -46,8 +64,9 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
46 | 64 | <h2><i class="icon-edit"></i> Editer un Matériel</h2> |
47 | 65 | |
48 | 66 | <?php |
49 | - if ($role == 'Super Administrateur') { | |
50 | - echo $this->Html->link('Aller au formulaire d\'édition avancée', [ | |
67 | + //if ($role == 'Super Administrateur') { | |
68 | + if ($USER_IS_SUPERADMIN) { | |
69 | + echo $this->Html->link('Aller au formulaire d\'édition avancée', [ | |
51 | 70 | 'action' => 'administrer', |
52 | 71 | $materiel->id |
53 | 72 | ]); |
... | ... | @@ -70,6 +89,8 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
70 | 89 | 'label' => 'Désignation', |
71 | 90 | 'disabled' => $isReadonlyField('designation', $myReadonlyFields) |
72 | 91 | ]); |
92 | + if ( $USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER || $USER_IS_RESPONSABLE_AND_SAME_GROUP ) { | |
93 | + /* | |
73 | 94 | if (in_array($role, [ |
74 | 95 | 'Administration', |
75 | 96 | 'Administration Plus', |
... | ... | @@ -77,7 +98,9 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
77 | 98 | ]) || ($role == 'Utilisateur' && (in_array($username, [ |
78 | 99 | $materiel->nom_createur, |
79 | 100 | $materiel->nom_responsable |
80 | - ]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { | |
101 | + ]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || | |
102 | + $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { | |
103 | + */ | |
81 | 104 | echo $this->Form->input('hors_service', [ |
82 | 105 | 'label' => 'Appareil hors_service' |
83 | 106 | ]); |
... | ... | @@ -140,12 +163,15 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
140 | 163 | 'label' => 'Description', |
141 | 164 | 'disabled' => $isReadonlyField('description', $myReadonlyFields) |
142 | 165 | ]); |
166 | + if ($USER_IS_RESPONSABLE_OR_MORE) { | |
167 | + /* | |
143 | 168 | if (in_array($role, [ |
144 | 169 | 'Responsable', |
145 | 170 | 'Administration', |
146 | 171 | 'Administration Plus', |
147 | 172 | 'Super Administrateur' |
148 | 173 | ])) { |
174 | + */ | |
149 | 175 | echo $this->Form->input('etiquette', [ |
150 | 176 | 'label' => 'Etiquette posée', |
151 | 177 | 'disabled' => $isReadonlyField('etiquette', $myReadonlyFields) |
... | ... | @@ -207,10 +233,13 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
207 | 233 | 'class' => 'datepicker', |
208 | 234 | 'default' => NULL |
209 | 235 | ]); |
236 | + if ($USER_IS_ADMINPLUS_OR_MORE) { | |
237 | + /* | |
210 | 238 | if (in_array($role, [ |
211 | 239 | 'Administration Plus', |
212 | 240 | 'Super Administrateur' |
213 | 241 | ])) { |
242 | + */ | |
214 | 243 | echo $this->Form->input('status', [ |
215 | 244 | 'label' => 'Statut', |
216 | 245 | 'options' => [ |
... | ... | @@ -237,6 +266,7 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
237 | 266 | 'options' => $groupesMetiers, |
238 | 267 | 'default' => 1 |
239 | 268 | ]); |
269 | + | |
240 | 270 | if (! (in_array($role, [ |
241 | 271 | 'Responsable', |
242 | 272 | 'Administration', |
... | ... | @@ -285,7 +315,6 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
285 | 315 | 'role =' => 'Administration' |
286 | 316 | ]) |
287 | 317 | ->toArray(); |
288 | - var_dump($administrateurs); | |
289 | 318 | echo $this->Form->input('gestionnaire_id', [ |
290 | 319 | 'label' => 'Nom du gestionnaire de référence du matériel', |
291 | 320 | 'empty' => 'Choisir un gestionnaire', |
... | ... | @@ -311,11 +340,14 @@ if ($IS_VALIDATED && $materiel->numero_serie) |
311 | 340 | 'label' => 'Prix HT (€)', |
312 | 341 | 'disabled' => $isReadonlyField('prix_ht', $myReadonlyFields) |
313 | 342 | ]); |
343 | + if ($USER_IS_ADMIN_OR_MORE) { | |
344 | + /* | |
314 | 345 | if (in_array($role, [ |
315 | 346 | 'Administration', |
316 | 347 | 'Administration Plus', |
317 | 348 | 'Super Administrateur' |
318 | 349 | ])) { |
350 | + */ | |
319 | 351 | 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>'; |
320 | 352 | echo $this->Form->input('adminEdit', [ |
321 | 353 | 'type' => 'checkbox', | ... | ... |