Commit f603f4d27be644ba483f313e648dff6586ebca58

Authored by Etienne Pallier
1 parent 7c885692
Exists in master and in 2 other branches dev, dev-IRAP

Bugfix ajout materiel

@@ -53,10 +53,10 @@ Logiciel testé et validé sur les configurations suivantes : @@ -53,10 +53,10 @@ Logiciel testé et validé sur les configurations suivantes :
53 53
54 VERSION ACTUELLE 54 VERSION ACTUELLE
55 55
56 -Date: 15/05/2019  
57 -Version: 2.12.11 56 +Date: 16/05/2019
  57 +Version: 2.12.12
58 Author: EP 58 Author: EP
59 -Commentaire: Bugfix, simplification, et amélioration de la fonctionnalité "Copier ce matériel" 59 +Commentaire: Bugfix ajout materiel
60 60
61 IMPORTANT : 61 IMPORTANT :
62 - Pour connaitre la version actuelle, taper "./VERSION" 62 - Pour connaitre la version actuelle, taper "./VERSION"
@@ -91,6 +91,10 @@ CHANGEMENTS IMPORTANTS (MILESTONES) @@ -91,6 +91,10 @@ CHANGEMENTS IMPORTANTS (MILESTONES)
91 La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https://tinyurl.com/labinvent#heading=h.2r55bflctpt5 91 La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https://tinyurl.com/labinvent#heading=h.2r55bflctpt5
92 92
93 ----------------------------------------------------------------------------------------------------------- 93 -----------------------------------------------------------------------------------------------------------
  94 +
  95 +15/05/2019 Version: 2.12.11 (EP)
  96 + Bugfix, simplification, et amélioration de la fonctionnalité "Copier ce matériel"
  97 +
94 13/05/2019 Version: 2.12.8-10 (EP) 98 13/05/2019 Version: 2.12.8-10 (EP)
95 Ajout de l'option "Librairie pdf utilisée" pour choisir entre fpdf et dompdf 99 Ajout de l'option "Librairie pdf utilisée" pour choisir entre fpdf et dompdf
96 Génération des pdf avec 2 moteurs au choix (fpdf ou dompdf) 100 Génération des pdf avec 2 moteurs au choix (fpdf ou dompdf)
src/Controller/MaterielsController.php
@@ -780,7 +780,7 @@ class MaterielsController extends AppController @@ -780,7 +780,7 @@ class MaterielsController extends AppController
780 $materiel = $this->Materiels->patchEntity($materiel, $this->request->getData()); 780 $materiel = $this->Materiels->patchEntity($materiel, $this->request->getData());
781 781
782 // (2) Si l'utilisateur courant est un "administratif" => le mettre comme gestionnaire du materiel 782 // (2) Si l'utilisateur courant est un "administratif" => le mettre comme gestionnaire du materiel
783 - // (tout ça pour ça !!! Faudra réduire ce bazarre) 783 + // (tout ça pour ça !!! Faudra réduire ce bazar)
784 $current_user_name = $_SESSION['Auth']['User']['sn'][0]; 784 $current_user_name = $_SESSION['Auth']['User']['sn'][0];
785 if (in_array( 785 if (in_array(
786 $current_user_name, 786 $current_user_name,
src/Template/Materiels/add.ctp
1 <?php 1 <?php
2 2
  3 +use Cake\ORM\TableRegistry;
  4 +
  5 +//debug($materiel);
  6 +//debug($users_option_list);
  7 +//debug($users_login_and_email);
  8 +//debug($sousCategories);
  9 +
3 /* 10 /*
4 * (EP) 11 * (EP)
5 - * Variables passed to this view by the Controller : 12 + * Variables passed to this view by the Controller(s)
6 */ 13 */
  14 +
  15 +// POUR EN VOIR LA LISTE COMPLETE
  16 +//debug($this->viewVars);
  17 +
  18 +// 1) FROM AppController:
  19 +
  20 +$PROFILE_USER = $PROFILE_USER;
  21 +$PROFILE_ADMIN = $PROFILE_USER;
  22 +$PROFILE_RESPONSABLE = $PROFILE_RESPONSABLE;
  23 +$PROFILE_ADMINPLUS = $PROFILE_ADMINPLUS;
  24 +$PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN;
  25 +$allProfiles = $allProfiles;
  26 +
  27 +// PAS TOUJOURS
  28 +//$_serialize = $_serialize; // True or False
  29 +
  30 +$username = $username;
  31 +$configuration = $configuration;
  32 +$priviledgedUser = $priviledgedUser; // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié (pas dans la table "utilisateurs")
  33 +$role = $role;
  34 +$profile = $profile;
  35 +$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR;
  36 +$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE;
  37 +$USER_IS_ADMIN = $USER_IS_ADMIN;
  38 +$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS;
  39 +$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN;
  40 +$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE;
  41 +$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE;
  42 +$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE;
  43 +
  44 +$hiddenFields = $hiddenFields;
  45 +$mandatoryFields = $mandatoryFields;
  46 +$readOnlyFields = $readOnlyFields;
  47 +$haveDefaultValueFields = $haveDefaultValueFields;
  48 +
  49 +// Metrologie
  50 +$idGmNa = $idGmNa;
  51 +$idGtNa = $idGtNa;
  52 +
  53 +// ET AUSSI QUELQUES FONCTIONS :
  54 +// $displayElement()
  55 +// $dateProchainControleVerif()
  56 +
  57 +
  58 +// 2) FROM my own controller (MaterielController):
  59 +
  60 +$mail_responsable = $mail_responsable;
7 $users_option_list = $users_option_list; 61 $users_option_list = $users_option_list;
8 $users_login_and_email = $users_login_and_email; 62 $users_login_and_email = $users_login_and_email;
9 $materiel = $materiel; 63 $materiel = $materiel;
  64 +$surCategories = $surCategories;
  65 +$categories = $categories;
  66 +$sousCategories = $sousCategories;
10 // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté 67 // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté
11 68
12 -//debug($materiel);  
13 -//debug($users_option_list);  
14 -//debug($users_login_and_email);  
15 -//debug($sousCategories);  
16 69
17 -use Cake\ORM\TableRegistry; 70 +
18 71
19 /* 72 /*
20 // COPIE de materiel (on a cliqué sur "Copier ce matériel") 73 // COPIE de materiel (on a cliqué sur "Copier ce matériel")
@@ -241,20 +294,23 @@ if (isset($cpMateriel)) { @@ -241,20 +294,23 @@ if (isset($cpMateriel)) {
241 //'default' => $Groupes_metier_id 294 //'default' => $Groupes_metier_id
242 'default' => $materiel->groupes_metier_id 295 'default' => $materiel->groupes_metier_id
243 ]); 296 ]);
  297 + /*
244 $fieldType = $USER_IS_UTILISATEUR ? 'hidden' : 'input'; 298 $fieldType = $USER_IS_UTILISATEUR ? 'hidden' : 'input';
245 echo $this->Form->$fieldType('nom_responsable', [ 299 echo $this->Form->$fieldType('nom_responsable', [
  300 + */
  301 + $readonly = $USER_IS_UTILISATEUR ? TRUE : FALSE;
  302 + echo $this->Form->control('nom_responsable', [
246 'label' => 'Nom de l\'utilisateur', 303 'label' => 'Nom de l\'utilisateur',
  304 + 'readonly' => $readonly,
247 'empty' => 'Choisir un utilisateur', 305 'empty' => 'Choisir un utilisateur',
248 - //'default' => $username,  
249 - 'default' => $materiel->username, 306 + 'default' => $username,
250 //'options' => $utilisateurs 307 //'options' => $utilisateurs
251 'options' => $users_option_list 308 'options' => $users_option_list
252 ]); 309 ]);
253 echo $this->Form->control('email_responsable', [ 310 echo $this->Form->control('email_responsable', [
254 'label' => 'Email de l\'utilisateur', 311 'label' => 'Email de l\'utilisateur',
255 'readonly' => true, 312 'readonly' => true,
256 - //'default' => $mail_responsable  
257 - 'default' => $materiel->mail_responsable, 313 + 'default' => $mail_responsable
258 ]); 314 ]);
259 315
260 /* 316 /*
src/Template/Materiels/edit.ctp
1 <?php 1 <?php
2 2
  3 +use Cake\ORM\TableRegistry;
  4 +
  5 +//debug($users_option_list);
  6 +//debug($users_login_and_email);
  7 +//debug($materiel);
3 8
4 /* 9 /*
5 * (EP) 10 * (EP)
6 - * Variables passed to this view by the Controller : 11 + * Variables passed to this view by the Controller(s)
7 */ 12 */
  13 +
  14 +// POUR EN VOIR LA LISTE COMPLETE
  15 +//debug($this->viewVars);
  16 +
  17 +// 1) FROM AppController:
  18 +
  19 +$PROFILE_USER = $PROFILE_USER;
  20 +$PROFILE_ADMIN = $PROFILE_USER;
  21 +$PROFILE_RESPONSABLE = $PROFILE_RESPONSABLE;
  22 +$PROFILE_ADMINPLUS = $PROFILE_ADMINPLUS;
  23 +$PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN;
  24 +$allProfiles = $allProfiles;
  25 +
  26 +$_serialize = $_serialize; // True or False
  27 +$username = $username;
  28 +$configuration = $configuration;
  29 +$priviledgedUser = $priviledgedUser; // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié (pas dans la table "utilisateurs")
  30 +$role = $role;
  31 +$profile = $profile;
  32 +$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR;
  33 +$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE;
  34 +$USER_IS_ADMIN = $USER_IS_ADMIN;
  35 +$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS;
  36 +$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN;
  37 +$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE;
  38 +$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE;
  39 +$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE;
  40 +
  41 +$hiddenFields = $hiddenFields;
  42 +$mandatoryFields = $mandatoryFields;
  43 +$readOnlyFields = $readOnlyFields;
  44 +$haveDefaultValueFields = $haveDefaultValueFields;
  45 +
  46 +// Metrologie
  47 +$idGmNa = $idGmNa;
  48 +$idGtNa = $idGtNa;
  49 +
  50 +// ET AUSSI QUELQUES FONCTIONS :
  51 +// $displayElement()
  52 +// $dateProchainControleVerif()
  53 +
  54 +
  55 +// 2) FROM my own controller (MaterielController):
  56 +
  57 +$mail_responsable = $mail_responsable;
8 $users_option_list = $users_option_list; 58 $users_option_list = $users_option_list;
9 $users_login_and_email = $users_login_and_email; 59 $users_login_and_email = $users_login_and_email;
  60 +$materiel = $materiel;
  61 +$surCategories = $surCategories;
  62 +$categories = $categories;
  63 +$sousCategories = $sousCategories;
10 // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté 64 // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté
11 65
12 -//debug($users_option_list);  
13 -//debug($users_login_and_email);  
14 -//debug($materiel);  
15 66
16 -use Cake\ORM\TableRegistry; 67 +
  68 +
  69 +/*
  70 + * DEFINITION DE NOUVELLES VARIABLES POUR CETTE VUE
  71 + */
17 72
18 $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [ 73 $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [
19 $materiel->nom_createur, 74 $materiel->nom_createur,
@@ -25,7 +80,6 @@ $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE &amp;&amp; in_array($us @@ -25,7 +80,6 @@ $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE &amp;&amp; in_array($us
25 $materiel->nom_responsable 80 $materiel->nom_responsable
26 ]); 81 ]);
27 82
28 -  
29 $USER_IS_RESPONSABLE_AND_SAME_GROUP = $USER_IS_RESPONSABLE && ((isset($priviledgedUser->groupes_metier_id) && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)); 83 $USER_IS_RESPONSABLE_AND_SAME_GROUP = $USER_IS_RESPONSABLE && ((isset($priviledgedUser->groupes_metier_id) && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id));
30 84
31 $administrationData = array( 85 $administrationData = array(