Commit 550ecfde17437d0c0fdc407fca28be2830c1accc

Authored by Etienne Pallier
1 parent e552ba3e
Exists in master and in 1 other branch dev

bugfix formulaire des Utilisateurs

On était obligé de choisir un groupe métier et thématique et un domaine
=> désormais facultatif ('N/A') !

+ divers petits bugfixes

v4.103.19-3.7.9
@@ -13,7 +13,7 @@ CHANGEMENTS @@ -13,7 +13,7 @@ CHANGEMENTS
13 13
14 14
15 ------- 15 -------
16 -28/09/2020 NEWS#4 (v4.103.14-3.7.9) : 16 +30/09/2020 NEWS#4 (v4.103.18-3.7.9) :
17 17
18 Remaniement complet du système de notification : 18 Remaniement complet du système de notification :
19 => toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...) 19 => toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...)
@@ -118,6 +118,11 @@ Outre ces changements, voici d'autres changements importants : @@ -118,6 +118,11 @@ Outre ces changements, voici d'autres changements importants :
118 ======= CHANGES ======= 118 ======= CHANGES =======
119 119
120 ------- 120 -------
  121 +30/09/2020 v4.103.19-3.7.9 (EP)
  122 + - (b) bugfix formulaire des Utilisateurs : on était obligé de choisir un groupe métier et thématique et un domaine => désormais facultatif ('N/A') !
  123 + - (b) divers petits bugfixes
  124 +
  125 +-------
121 29/09/2020 v4.103.18-3.7.9 (EP) 126 29/09/2020 v4.103.18-3.7.9 (EP)
122 - (b) bugfix suppression d'un materiel : on peut désormais supprimer, après confirmation, même avec des docs, emprunts, ou/et suivis liés (ils sont supprimés aussi) 127 - (b) bugfix suppression d'un materiel : on peut désormais supprimer, après confirmation, même avec des docs, emprunts, ou/et suivis liés (ils sont supprimés aussi)
123 - (b) pleins de petits bugfixes 128 - (b) pleins de petits bugfixes
@@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes :
42 42
43 -------------------------------------------------------------------------------------------- 43 --------------------------------------------------------------------------------------------
44 44
45 -Date: 29/09/2020  
46 -Version: 4.103.18-3.7.9 45 +Date: 30/09/2020
  46 +Version: 4.103.19-3.7.9
47 47
48 48
49 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) 49 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
src/Controller/UsersController.php
@@ -326,6 +326,18 @@ class UsersController extends AppController @@ -326,6 +326,18 @@ class UsersController extends AppController
326 'keyField' => 'id', 326 'keyField' => 'id',
327 'valueField' => 'nom' 327 'valueField' => 'nom'
328 ]); 328 ]);
  329 + //->toArray();
  330 + /* Ajoute l'élément 0 => 'N/A' en tête de tableau
  331 + * SANS changer les clés !!!
  332 + // 1) on ajoute un élément vide à la clé "0",
  333 + // et on trie le tableau sur les values (nom) (en conservant les clés)
  334 + // => l'élément vide se retrouve donc en tête
  335 + $groupesThematiques[0] = '';
  336 + asort($groupesThematiques);
  337 + // 2) on remplace l'élément vide (en tête) par 'N/A', qui est donc toujours en tête !
  338 + $groupesThematiques[0] = 'N/A';
  339 + */
  340 +
329 $sur_categorie = $this->Users->SurCategories->find('list', [ 341 $sur_categorie = $this->Users->SurCategories->find('list', [
330 'keyField' => 'id', 342 'keyField' => 'id',
331 'valueField' => 'nom' 343 'valueField' => 'nom'
@@ -410,6 +422,18 @@ class UsersController extends AppController @@ -410,6 +422,18 @@ class UsersController extends AppController
410 'keyField' => 'id', 422 'keyField' => 'id',
411 'valueField' => 'nom' 423 'valueField' => 'nom'
412 ]); 424 ]);
  425 + /* Ajoute l'élément 0 => 'N/A' en tête de tableau
  426 + ->toArray();
  427 + * SANS changer les clés !!!
  428 + // 1) on ajoute un élément vide à la clé "0",
  429 + // et on trie le tableau sur les values (nom) (en conservant les clés)
  430 + // => l'élément vide se retrouve donc en tête
  431 + $groupesThematiques[0] = '';
  432 + asort($groupesThematiques);
  433 + // 2) on remplace l'élément vide (en tête) par 'N/A', qui est donc toujours en tête !
  434 + $groupesThematiques[0] = 'N/A';
  435 + */
  436 +
413 $sur_categorie = $this->Users->SurCategories->find('list', [ 437 $sur_categorie = $this->Users->SurCategories->find('list', [
414 'keyField' => 'id', 438 'keyField' => 'id',
415 'valueField' => 'nom' 439 'valueField' => 'nom'
@@ -418,7 +442,7 @@ class UsersController extends AppController @@ -418,7 +442,7 @@ class UsersController extends AppController
418 $this->set('_serialize', [ 442 $this->set('_serialize', [
419 'user' 443 'user'
420 ]); 444 ]);
421 - } 445 + } // edit()
422 446
423 /** 447 /**
424 * Delete method 448 * Delete method
src/Model/Table/UsersTable.php
@@ -118,12 +118,22 @@ class UsersTable extends AppTable @@ -118,12 +118,22 @@ class UsersTable extends AppTable
118 'username' 118 'username'
119 ])); 119 ]));
120 // $rules->add($rules->isUnique(['email'])); 120 // $rules->add($rules->isUnique(['email']));
  121 +
121 $rules->add($rules->existsIn([ 122 $rules->add($rules->existsIn([
122 'groupes_metier_id' 123 'groupes_metier_id'
123 ], 'GroupesMetiers')); 124 ], 'GroupesMetiers'));
124 - $rules->add($rules->existsIn([  
125 - 'groupes_thematique_id'  
126 - ], 'GroupesThematiques')); 125 +
  126 + $rules->add($rules->existsIn(
  127 + ['groupes_thematique_id'],
  128 + 'GroupesThematiques'
  129 + /*
  130 + [
  131 + 'allowNullableNulls' => true,
  132 + 'allowMultipleNulls' => false
  133 + ]
  134 + */
  135 + ));
  136 +
127 $rules->add($rules->existsIn([ 137 $rules->add($rules->existsIn([
128 'sur_categorie_id' 138 'sur_categorie_id'
129 ], 'SurCategories')); 139 ], 'SurCategories'));
src/Template/Materiels/view.ctp
@@ -492,7 +492,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN @@ -492,7 +492,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
492 // - Bouton "Imprimer étiquette" 492 // - Bouton "Imprimer étiquette"
493 $echoActionButton($this->Html, 'icon-print', $bStyle, 493 $echoActionButton($this->Html, 'icon-print', $bStyle,
494 ' étiquette', '', 'printLabelRuban', h($entity->id), [], 494 ' étiquette', '', 'printLabelRuban', h($entity->id), [],
495 - "Imprimer sur un ruban"); 495 + "Imprimer une étiquette");
496 496
497 // - Bouton "Etiquette [non] collée" 497 // - Bouton "Etiquette [non] collée"
498 //$echoActionButton($this->Html, 'icon-file', $bStyle.'; background: red; color: white', 498 //$echoActionButton($this->Html, 'icon-file', $bStyle.'; background: red; color: white',
src/Template/Users/edit.ctp
  1 +<?php
  2 +// Variables passées par le controleur
  3 +$groupesMetiers = $groupesMetiers;
  4 +$groupesThematiques = $groupesThematiques;
  5 +$sur_categorie = $sur_categorie;
  6 +// ...
  7 +
  8 +//debug($groupesThematiques);
  9 +?>
1 10
2 <div class="utilisateurs form col-lg-5 col-md-7 col-sm-9"> 11 <div class="utilisateurs form col-lg-5 col-md-7 col-sm-9">
3 <?= $this->Form->create($user) ?> 12 <?= $this->Form->create($user) ?>
@@ -81,19 +90,22 @@ @@ -81,19 +90,22 @@
81 echo $this->Form->control('groupes_metier_id', [ 90 echo $this->Form->control('groupes_metier_id', [
82 'label' => $configuration->nom_groupe_metier, 91 'label' => $configuration->nom_groupe_metier,
83 'options' => $groupesMetiers, 92 'options' => $groupesMetiers,
84 - 'default' => 1 93 + 'empty' => 'N/A',
  94 + //'default' => 1
85 ]); 95 ]);
86 96
87 echo $this->Form->control('groupes_thematique_id', [ 97 echo $this->Form->control('groupes_thematique_id', [
88 'label' => $configuration->nom_groupe_thematique, 98 'label' => $configuration->nom_groupe_thematique,
89 'options' => $groupesThematiques, 99 'options' => $groupesThematiques,
90 - 'default' => 1 100 + 'empty' => 'N/A',
  101 + //'default' => 3,
91 ]); 102 ]);
92 103
93 echo $this->Form->control('sur_categorie_id', [ 104 echo $this->Form->control('sur_categorie_id', [
94 'label' => 'Domaine', 105 'label' => 'Domaine',
95 'options' => $sur_categorie, 106 'options' => $sur_categorie,
96 - 'default' => 0 107 + 'empty' => 'N/A',
  108 + //'default' => 0
97 ]); 109 ]);
98 110
99 ?> 111 ?>