diff --git a/CHANGELOG b/CHANGELOG index f6ab3a4..0ab629b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -359,6 +359,33 @@ Commencer à implémenter le nouveau workflow v5 : ======= TODO ======= + *) TESTS !!!! + *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo) + *) Ajouter test Commande (avec devis joint !) + + *) + Relance auto lors de suivis périodiques + + *) Validation multiple ne marche plus + + *) DOMPDF : pb Qrcode absent sur fiche pdf (mais présent sur page web), alors que le QrCode est bien généré et que le chemin dans le pdf est OK !!! +Par contre, ok avec FPDF + + *) LDAP trou sécu (autres labos) : user se connecte avec bad mdp + + *) + Rendre modifiable la config via page web "Gérer les champs obligatoires" + - OFF_nom_du_champ : 'libellé' + - Restaurer la config par défaut + - Réactiver une variable : OFF_nom_du_champ => nom_du_champ + + *) => update matos lifecycle diag + + + + + + *) Quand on supprime un matos de “ma liste”, il faut revenir à “ma liste”, pas à “tous les matos” *) TEST_WEB ne marche pas avec docker @@ -366,22 +393,11 @@ Commencer à implémenter le nouveau workflow v5 : (update doc) Mais ca serait mieux de faire localhost:8080 pour le site web et :8081 pour phpmyadmin (et non pas l’inverse !!) - *) LDAP trou sécu (autres labos) : user se connecte avec bad mdp - - *) DOMPDF : pb Qrcode absent sur fiche pdf (mais présent sur page web), alors que le QrCode est bien généré et que le chemin dans le pdf est OK !!! -Par contre, ok avec FPDF - *) Check extension ldap dans page web installation *) Augmenter taille upload de mon labo *) Créer une page qui liste les gestionnaires - - *) - Rendre modifiable la config via page web "Gérer les champs obligatoires" - - OFF_nom_du_champ : 'libellé' - - Restaurer la config par défaut - - Réactiver une variable : OFF_nom_du_champ => nom_du_champ *) SUPERADMIN => par défaut, au minimum, mêmes droits que ADMIN @@ -395,7 +411,6 @@ Par contre, ok avec FPDF - numéro inventaire (hidden par défaut pour l'édition) - ... - *) => update matos lifecycle diag *) Vincent : - email pas trouvé (ancienne fiche de vincent) @@ -407,12 +422,8 @@ Par contre, ok avec FPDF *) qqsoit user : doit pouvoir voir sa fiche user (no modif) => mais pas celle des autres... - - *) TESTS !!!! - *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo) - *) Ajouter test Commande (avec devis joint !) - *) Validation multiple ne marche plus + *) Mail "[LabInvent] Ajout de matériel(s)" => c'est quoi ? ==> voir message de log associé (quelle diff avec "[LabInvent] Ajout d'un matériel" ??) @@ -438,10 +449,7 @@ Par contre, ok avec FPDF *) Procédures pour les utilisateurs et les gestionnaires désormais configurable via le fichier de conf - - *) - Relance auto lors de suivis périodiques - + *) Généraliser l'usage de Element/buttons_edit_del.ctp dans tous les formulaires de view @@ -504,7 +512,6 @@ TODO : - fusionner elem/button_add_edit et MyHelper echoActionButton... (ne garder que elem/) - - séparer elem/button_add, button_edit, button_delete, et button_tout_court (générique) - short_role AppController ligne 819 => généraliser @@ -537,17 +544,35 @@ TODO : - fusionner groupe thematique et metier (et projet ?) - Utiliser les vues "index" des entités associées pour la vue "view" de materiel (et suivi) : - => éviter la redondance, le contenu est pratiquement le meme + => éviter la redondance, le contenu est pratiquement le meme (???, sauf que les colonnes ne sont pas triables) ======= NEXT ======= +print etiquette pour les 2 serveurs + tester fin garantie orange + view générique à utiliser pour plusieurs entités -print etiquette pour les 2 serveurs + tester fin garantie orange +Vues génériques (index et view) : + - savoir gérer les champs virtuels pour le tri + - new champs virtuels à implémenter : + - prets : + - intitulé = nom sinon id + - lieu_stockage = concat(site,lieu) + - users : vue "index" avec (responsable) + +- Suivis.statut => "en cours" ou "à terminer" => à calculer auto + ======= CHANGES ======= ------- +15/11/2021 v5.3.0-3.7.9 + - (e) Refactorisation : Vue détaillée users (view) générique avec contenu enrichi ("(responsable)") + - (e) Refactorisation : Vue liste users (index) générique avec contenu enrichi ("(responsable)") + - user->groupe_thematique_with_resp : groupe + (responsable) si c'est le cas + - user->groupe_metier_with_resp : groupe + (responsable) si c'est le cas + +------- 12/11/2021 v5.2.30-3.7.9 - (e) Refactorisation : Vue liste projets (index) générique - (e) Amélioration vue des Stats de connexion : le tri des colonnes est maintenant ok @@ -556,7 +581,7 @@ print etiquette pour les 2 serveurs + tester fin garantie orange - tri par défaut amélioré - bugfix label du champ 'nom' - généralisation de l'affichage des booleens - + ------- 12/11/2021 v5.2.29-3.7.9 - (b) Bugfix label (configurable) des groupes métier et thématique : maintenant ok dans toutes les vues diff --git a/README.md b/README.md index ff62ae9..4ed61ae 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- -Date: 12/11/2021 -Version: v5.2.30-3.7.9 +Date: 15/11/2021 +Version: v5.3.0-3.7.9 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/src/Controller/AppController.php b/src/Controller/AppController.php index 15e08fa..dc5a362 100755 --- a/src/Controller/AppController.php +++ b/src/Controller/AppController.php @@ -2148,7 +2148,8 @@ class AppController extends Controller */ public function index_generic( $entity_plural, - $fields_names=[], $contained_controllers=null, + $fields_names=[], + $contained_controllers=null, $HAS_ADD_BUTTON=true, $HAS_EDIT_DEL_BUTTONS=true, $sortBy = null, @@ -2266,8 +2267,11 @@ class AppController extends Controller //public function view_generic($id, $associated_entity_types, $parent_entity_controller_name=[]) { //public function view_generic($id, $associated_entity_types, $containavirer=[]) { - public function view_generic($id, $child_entity_types=[], - $sub_controller_class_name=null, $sub_controller=null, $sub_controller_singular=null) { + public function view_generic( + $id, $child_entity_types=[], + $sub_controller_class_name=null, $sub_controller=null, $sub_controller_singular=null, + $improved=[], $excluded=[] + ) { //debug($contain_children); // ex: SurCategories @@ -2393,6 +2397,9 @@ class AppController extends Controller $parent_entity_infos['type_name'] = $parent_entity_type_name; $parent_entity_infos['name'] = $parent_entity_name; $parent_entity_infos['fk_contained_name'] = $parent_entity_contained_name; + //if ($fk_name=='groupes_thematique_id') $parent_entity_infos['improved'] = 'groupe_thematique_with_resp'; + if ( isset($improved[$fk_name]) ) $parent_entity_infos['improved'] = $improved[$fk_name]; + } //debug($parent_entities_infos); //exit; @@ -2568,7 +2575,8 @@ class AppController extends Controller // Optionnel : sous-controleur pour pouvoir ajouter une sous-entité (ex: ajouter une sous-catégorie à une catégorie) 'sub_controller', 'sub_controller_singular', - 'CAN_ADD_SUB_ENTITY' + 'CAN_ADD_SUB_ENTITY', + 'excluded' )); //debug($this->viewVars);exit; diff --git a/src/Controller/UsersController.php b/src/Controller/UsersController.php index 346ff60..e3eb7b1 100755 --- a/src/Controller/UsersController.php +++ b/src/Controller/UsersController.php @@ -573,11 +573,15 @@ class UsersController extends AppController { 'role' => [], 'groupes_thematique_id'=>[ //'nice_name'=>'Groupe Thématique', - 'contained_entity_name'=>'groupes_thematique', 'controller_name'=>'GroupesThematiques', + 'contained_entity_name'=>'groupes_thematique', + 'controller_name'=>'GroupesThematiques', + 'improved' => 'groupe_thematique_with_resp', ], 'groupes_metier_id'=>[ //'nice_name'=>'Groupe Métier', - 'contained_entity_name'=>'groupes_metier', 'controller_name'=>'GroupesMetiers', + 'contained_entity_name'=>'groupes_metier', + 'controller_name'=>'GroupesMetiers', + 'improved' => 'groupe_metier_with_resp', ], 'sur_categorie_id'=>[ //'nice_name'=>'Domaine', @@ -686,6 +690,28 @@ class UsersController extends AppController { */ public function view($id = null) { + /* + $child_entity_types = [ + 'GroupesMetiers', + 'GroupesThematiques', + 'SurCategories', + ]; + */ + //return parent::view($id, $associated_entity_types); + //return $this->view_generic($id, $associated_entity_types, 'SurCategories'); + //return $this->view_generic($id, $child_entity_types, ['SurCategories']); + //$this->view_generic($id, $child_entity_types); + $improved = [ + 'groupes_thematique_id' => 'groupe_thematique_with_resp', + 'groupes_metier_id' => 'groupe_metier_with_resp', + ]; + $excluded = [ 'is_resp_groupes_metier', 'is_resp_groupes_thematique', 'modified', ]; + $this->view_generic($id, [], null, null, null, + $improved, + $excluded + ); + return; + $user = $this->Users->get($id, [ 'contain' => [ 'GroupesMetiers', @@ -693,11 +719,12 @@ class UsersController extends AppController { 'SurCategories' ] ]); - $this->set('user', $user); + /* (EP) inutile sauf json $this->set('_serialize', [ 'user' ]); + */ } diff --git a/src/Model/Entity/User.php b/src/Model/Entity/User.php index aa99b28..b2fc573 100755 --- a/src/Model/Entity/User.php +++ b/src/Model/Entity/User.php @@ -87,6 +87,20 @@ class User extends Entity //protected function _getIsAdminplus() { return $this->role == 'Administration Plus'; } // $user->is_super protected function _getIsSuper() { return $this->role == 'Super Administrateur'; } + + // $user->groupe_thematique_with_resp + protected function _getGroupeThematiqueWithResp() { + $group_with_resp = ''; + if ($this->has('groupes_thematique')) $group_with_resp .= $this->groupes_thematique->nom; + if ($this->is_resp_groupes_thematique) $group_with_resp .= ' (responsable)'; + return $group_with_resp; + } + protected function _getGroupeMetierWithResp() { + $group_with_resp = ''; + if ($this->has('groupes_metier')) $group_with_resp .= $this->groupes_metier->nom; + if ($this->is_resp_groupes_metier) $group_with_resp .= ' (responsable)'; + return $group_with_resp; + } /* diff --git a/src/Template/Common/index_gen.ctp b/src/Template/Common/index_gen.ctp index a690576..f083d38 100755 --- a/src/Template/Common/index_gen.ctp +++ b/src/Template/Common/index_gen.ctp @@ -127,6 +127,7 @@ if (empty($fields_names['nom'])) $fields_names['nom'] = ['nice_name'=>'Nom']; //debug($fname); //
- | - |
---|