Commit 93ddd72e8d07184570e925e4fdfcbfd4e08234ca

Authored by Etienne Pallier
1 parent a998c907

Materiels/edit :

- bugfix
- simplifié la vue
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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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 &amp;&amp; $materiel-&gt;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',
... ...