From f603f4d27be644ba483f313e648dff6586ebca58 Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Thu, 16 May 2019 16:22:26 +0200 Subject: [PATCH] Bugfix ajout materiel --- README.md | 10 +++++++--- src/Controller/MaterielsController.php | 2 +- src/Template/Materiels/add.ctp | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- src/Template/Materiels/edit.ctp | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 4 files changed, 134 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0d0a251..230f7fa 100644 --- a/README.md +++ b/README.md @@ -53,10 +53,10 @@ Logiciel testé et validé sur les configurations suivantes : VERSION ACTUELLE -Date: 15/05/2019 -Version: 2.12.11 +Date: 16/05/2019 +Version: 2.12.12 Author: EP -Commentaire: Bugfix, simplification, et amélioration de la fonctionnalité "Copier ce matériel" +Commentaire: Bugfix ajout materiel IMPORTANT : - Pour connaitre la version actuelle, taper "./VERSION" @@ -91,6 +91,10 @@ CHANGEMENTS IMPORTANTS (MILESTONES) La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https://tinyurl.com/labinvent#heading=h.2r55bflctpt5 ----------------------------------------------------------------------------------------------------------- + +15/05/2019 Version: 2.12.11 (EP) + Bugfix, simplification, et amélioration de la fonctionnalité "Copier ce matériel" + 13/05/2019 Version: 2.12.8-10 (EP) Ajout de l'option "Librairie pdf utilisée" pour choisir entre fpdf et dompdf Génération des pdf avec 2 moteurs au choix (fpdf ou dompdf) diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index d3a43fd..475b45c 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -780,7 +780,7 @@ class MaterielsController extends AppController $materiel = $this->Materiels->patchEntity($materiel, $this->request->getData()); // (2) Si l'utilisateur courant est un "administratif" => le mettre comme gestionnaire du materiel - // (tout ça pour ça !!! Faudra réduire ce bazarre) + // (tout ça pour ça !!! Faudra réduire ce bazar) $current_user_name = $_SESSION['Auth']['User']['sn'][0]; if (in_array( $current_user_name, diff --git a/src/Template/Materiels/add.ctp b/src/Template/Materiels/add.ctp index c2bedcb..077a2d7 100755 --- a/src/Template/Materiels/add.ctp +++ b/src/Template/Materiels/add.ctp @@ -1,20 +1,73 @@ viewVars); + +// 1) FROM AppController: + +$PROFILE_USER = $PROFILE_USER; +$PROFILE_ADMIN = $PROFILE_USER; +$PROFILE_RESPONSABLE = $PROFILE_RESPONSABLE; +$PROFILE_ADMINPLUS = $PROFILE_ADMINPLUS; +$PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN; +$allProfiles = $allProfiles; + +// PAS TOUJOURS +//$_serialize = $_serialize; // True or False + +$username = $username; +$configuration = $configuration; +$priviledgedUser = $priviledgedUser; // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié (pas dans la table "utilisateurs") +$role = $role; +$profile = $profile; +$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR; +$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE; +$USER_IS_ADMIN = $USER_IS_ADMIN; +$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS; +$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN; +$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE; +$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE; +$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE; + +$hiddenFields = $hiddenFields; +$mandatoryFields = $mandatoryFields; +$readOnlyFields = $readOnlyFields; +$haveDefaultValueFields = $haveDefaultValueFields; + +// Metrologie +$idGmNa = $idGmNa; +$idGtNa = $idGtNa; + +// ET AUSSI QUELQUES FONCTIONS : +// $displayElement() +// $dateProchainControleVerif() + + +// 2) FROM my own controller (MaterielController): + +$mail_responsable = $mail_responsable; $users_option_list = $users_option_list; $users_login_and_email = $users_login_and_email; $materiel = $materiel; +$surCategories = $surCategories; +$categories = $categories; +$sousCategories = $sousCategories; // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté -//debug($materiel); -//debug($users_option_list); -//debug($users_login_and_email); -//debug($sousCategories); -use Cake\ORM\TableRegistry; + /* // COPIE de materiel (on a cliqué sur "Copier ce matériel") @@ -241,20 +294,23 @@ if (isset($cpMateriel)) { //'default' => $Groupes_metier_id 'default' => $materiel->groupes_metier_id ]); + /* $fieldType = $USER_IS_UTILISATEUR ? 'hidden' : 'input'; echo $this->Form->$fieldType('nom_responsable', [ + */ + $readonly = $USER_IS_UTILISATEUR ? TRUE : FALSE; + echo $this->Form->control('nom_responsable', [ 'label' => 'Nom de l\'utilisateur', + 'readonly' => $readonly, 'empty' => 'Choisir un utilisateur', - //'default' => $username, - 'default' => $materiel->username, + 'default' => $username, //'options' => $utilisateurs 'options' => $users_option_list ]); echo $this->Form->control('email_responsable', [ 'label' => 'Email de l\'utilisateur', 'readonly' => true, - //'default' => $mail_responsable - 'default' => $materiel->mail_responsable, + 'default' => $mail_responsable ]); /* diff --git a/src/Template/Materiels/edit.ctp b/src/Template/Materiels/edit.ctp index a119510..77f01d1 100755 --- a/src/Template/Materiels/edit.ctp +++ b/src/Template/Materiels/edit.ctp @@ -1,19 +1,74 @@ viewVars); + +// 1) FROM AppController: + +$PROFILE_USER = $PROFILE_USER; +$PROFILE_ADMIN = $PROFILE_USER; +$PROFILE_RESPONSABLE = $PROFILE_RESPONSABLE; +$PROFILE_ADMINPLUS = $PROFILE_ADMINPLUS; +$PROFILE_SUPERADMIN = $PROFILE_SUPERADMIN; +$allProfiles = $allProfiles; + +$_serialize = $_serialize; // True or False +$username = $username; +$configuration = $configuration; +$priviledgedUser = $priviledgedUser; // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié (pas dans la table "utilisateurs") +$role = $role; +$profile = $profile; +$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR; +$USER_IS_RESPONSABLE = $USER_IS_RESPONSABLE; +$USER_IS_ADMIN = $USER_IS_ADMIN; +$USER_IS_ADMINPLUS = $USER_IS_ADMINPLUS; +$USER_IS_SUPERADMIN = $USER_IS_SUPERADMIN; +$USER_IS_RESPONSABLE_OR_MORE = $USER_IS_RESPONSABLE_OR_MORE; +$USER_IS_ADMIN_OR_MORE = $USER_IS_ADMIN_OR_MORE; +$USER_IS_ADMINPLUS_OR_MORE = $USER_IS_ADMINPLUS_OR_MORE; + +$hiddenFields = $hiddenFields; +$mandatoryFields = $mandatoryFields; +$readOnlyFields = $readOnlyFields; +$haveDefaultValueFields = $haveDefaultValueFields; + +// Metrologie +$idGmNa = $idGmNa; +$idGtNa = $idGtNa; + +// ET AUSSI QUELQUES FONCTIONS : +// $displayElement() +// $dateProchainControleVerif() + + +// 2) FROM my own controller (MaterielController): + +$mail_responsable = $mail_responsable; $users_option_list = $users_option_list; $users_login_and_email = $users_login_and_email; +$materiel = $materiel; +$surCategories = $surCategories; +$categories = $categories; +$sousCategories = $sousCategories; // TODO: yena d'autres... il faut les lister toutes ici, pour plus de clarté -//debug($users_option_list); -//debug($users_login_and_email); -//debug($materiel); -use Cake\ORM\TableRegistry; + + +/* + * DEFINITION DE NOUVELLES VARIABLES POUR CETTE VUE + */ $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [ $materiel->nom_createur, @@ -25,7 +80,6 @@ $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE && in_array($us $materiel->nom_responsable ]); - $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)); $administrationData = array( -- libgit2 0.21.2