Commit 550ecfde17437d0c0fdc407fca28be2830c1accc
1 parent
e552ba3e
Exists in
master
and in
1 other branch
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
Showing
6 changed files
with
62 additions
and
11 deletions
Show diff stats
CHANGES.txt
@@ -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 |
README.md
@@ -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 | ?> |