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 | 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 | 18 | Remaniement complet du système de notification : |
19 | 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 | 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 | 126 | 29/09/2020 v4.103.18-3.7.9 (EP) |
122 | 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 | 128 | - (b) pleins de petits bugfixes | ... | ... |
README.md
... | ... | @@ -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 | 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 | 326 | 'keyField' => 'id', |
327 | 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 | 341 | $sur_categorie = $this->Users->SurCategories->find('list', [ |
330 | 342 | 'keyField' => 'id', |
331 | 343 | 'valueField' => 'nom' |
... | ... | @@ -410,6 +422,18 @@ class UsersController extends AppController |
410 | 422 | 'keyField' => 'id', |
411 | 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 | 437 | $sur_categorie = $this->Users->SurCategories->find('list', [ |
414 | 438 | 'keyField' => 'id', |
415 | 439 | 'valueField' => 'nom' |
... | ... | @@ -418,7 +442,7 @@ class UsersController extends AppController |
418 | 442 | $this->set('_serialize', [ |
419 | 443 | 'user' |
420 | 444 | ]); |
421 | - } | |
445 | + } // edit() | |
422 | 446 | |
423 | 447 | /** |
424 | 448 | * Delete method | ... | ... |
src/Model/Table/UsersTable.php
... | ... | @@ -118,12 +118,22 @@ class UsersTable extends AppTable |
118 | 118 | 'username' |
119 | 119 | ])); |
120 | 120 | // $rules->add($rules->isUnique(['email'])); |
121 | + | |
121 | 122 | $rules->add($rules->existsIn([ |
122 | 123 | 'groupes_metier_id' |
123 | 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 | 137 | $rules->add($rules->existsIn([ |
128 | 138 | 'sur_categorie_id' |
129 | 139 | ], 'SurCategories')); | ... | ... |
src/Template/Materiels/view.ctp
... | ... | @@ -492,7 +492,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN |
492 | 492 | // - Bouton "Imprimer étiquette" |
493 | 493 | $echoActionButton($this->Html, 'icon-print', $bStyle, |
494 | 494 | ' étiquette', '', 'printLabelRuban', h($entity->id), [], |
495 | - "Imprimer sur un ruban"); | |
495 | + "Imprimer une étiquette"); | |
496 | 496 | |
497 | 497 | // - Bouton "Etiquette [non] collée" |
498 | 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 | 11 | <div class="utilisateurs form col-lg-5 col-md-7 col-sm-9"> |
3 | 12 | <?= $this->Form->create($user) ?> |
... | ... | @@ -81,19 +90,22 @@ |
81 | 90 | echo $this->Form->control('groupes_metier_id', [ |
82 | 91 | 'label' => $configuration->nom_groupe_metier, |
83 | 92 | 'options' => $groupesMetiers, |
84 | - 'default' => 1 | |
93 | + 'empty' => 'N/A', | |
94 | + //'default' => 1 | |
85 | 95 | ]); |
86 | 96 | |
87 | 97 | echo $this->Form->control('groupes_thematique_id', [ |
88 | 98 | 'label' => $configuration->nom_groupe_thematique, |
89 | 99 | 'options' => $groupesThematiques, |
90 | - 'default' => 1 | |
100 | + 'empty' => 'N/A', | |
101 | + //'default' => 3, | |
91 | 102 | ]); |
92 | 103 | |
93 | 104 | echo $this->Form->control('sur_categorie_id', [ |
94 | 105 | 'label' => 'Domaine', |
95 | 106 | 'options' => $sur_categorie, |
96 | - 'default' => 0 | |
107 | + 'empty' => 'N/A', | |
108 | + //'default' => 0 | |
97 | 109 | ]); |
98 | 110 | |
99 | 111 | ?> | ... | ... |