Commit 43c3d80490bb5c05bab93376ace19225ae166f8e
1 parent
3f9becf8
Exists in
master
and in
1 other branch
Bugfix label (configurable) des groupes métier et thématique :
maintenant ok dans toutes les vues - et aussi : détermination automatique des noms de colonnes des FK dans les listes (index) génériques v5.2.29-3.7.9
Showing
17 changed files
with
95 additions
and
47 deletions
Show diff stats
CHANGELOG
... | ... | @@ -542,13 +542,20 @@ TODO : |
542 | 542 | |
543 | 543 | ======= NEXT ======= |
544 | 544 | |
545 | -index view : groupe metier et thematique => recup nom selon config | |
545 | +user : ne doit pas voir boutons edit/delete sur autres listes | |
546 | 546 | |
547 | -garantie jqa 8/11/22 pour les 2 serveurs | |
547 | +view générique à utiliser pour plusieurs entités | |
548 | + | |
549 | +print etiquette pour les 2 serveurs + tester fin garantie orange | |
548 | 550 | |
549 | 551 | ======= CHANGES ======= |
550 | 552 | |
551 | 553 | ------- |
554 | +12/11/2021 v5.2.29-3.7.9 | |
555 | + - (b) Bugfix label (configurable) des groupes métier et thématique : maintenant ok dans toutes les vues | |
556 | + - (i) détermination automatique des noms de colonnes des FK dans les listes (index) génériques | |
557 | + | |
558 | +------- | |
552 | 559 | 11/11/2021 v5.2.28-3.7.9 |
553 | 560 | - (i) Refactorisation : vue users/index generique |
554 | 561 | - (e) amélioration des tris par colonne pour toutes les listes | ... | ... |
README.md
... | ... | @@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | 55 | Date: 11/11/2021 |
56 | -Version: v5.2.28-3.7.9 | |
56 | +Version: v5.2.29-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
src/Controller/AppController.php
... | ... | @@ -353,6 +353,9 @@ class AppController extends Controller |
353 | 353 | return $elems; |
354 | 354 | } |
355 | 355 | |
356 | + // "le materiel", "le suivi", "l'emprunt", "la catégorie"... | |
357 | + // Par défaut | |
358 | + public function getArticle() { return "Le "; } | |
356 | 359 | |
357 | 360 | // Jolis labels pour chaque champ de l'entité |
358 | 361 | // Par défaut, aucun => on utilise donc directement le nom des champs |
... | ... | @@ -477,30 +480,31 @@ class AppController extends Controller |
477 | 480 | * ... |
478 | 481 | */ |
479 | 482 | //public static function getNiceTypeName() { |
480 | - public function getTypeNameSingular($alias_controller_name=null) { | |
483 | + public function getNiceNameSingularLowerCase($alias_controller_name=null) { | |
481 | 484 | //return strtolower($this->name); |
482 | 485 | //return __CLASS__; |
483 | 486 | //return strtolower( substr($this->getName(),0,-1) ); |
484 | 487 | // 1) on récupère chaque mot du nom du controleur |
485 | - $words = explode(' ',$this->getTypeNamePlural($alias_controller_name)); | |
488 | + $words = explode(' ',$this->getNiceNamePluralLowerCase($alias_controller_name)); | |
486 | 489 | //debug($words); |
487 | 490 | // 2) on supprime les 's' éventuels à la fin de chaque mot |
488 | 491 | $type_name_singular = ''; |
489 | 492 | foreach($words as $word) $type_name_singular .= (substr($word,-1)=='s') ? substr($word,0,-1).' ' : $word.' '; |
490 | 493 | //debug($type_name_singular); |
491 | 494 | return rtrim($type_name_singular); |
492 | - //return substr($this->getTypeNamePlural(),0,-1); | |
495 | + //return substr($this->getNiceNamePluralLowerCase(),0,-1); | |
493 | 496 | } |
494 | - //@deprecated | |
495 | - public function getNiceName() { return $this->getTypeNameSingular(); } | |
497 | + public function getNiceName() { return $this->getNiceNameSingularLowerCase(); } | |
496 | 498 | |
499 | + | |
497 | 500 | // Nom pluriel affichable pour cette entité |
501 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
498 | 502 | // ex: 'suivis', 'matériels', 'catégories', ... |
499 | - public function getTypeNamePlural($alias_controller_name=null) { | |
500 | 503 | //return strtolower($this->name); |
501 | 504 | //return __CLASS__; |
502 | - return strtolower( $this->getName() ); | |
505 | + return strtolower($this->getName()); | |
503 | 506 | } |
507 | + | |
504 | 508 | |
505 | 509 | // ex: 'sur_categorie_id' |
506 | 510 | public function getFkName() { |
... | ... | @@ -2153,7 +2157,17 @@ class AppController extends Controller |
2153 | 2157 | $limit = 20 |
2154 | 2158 | ) |
2155 | 2159 | { |
2156 | - $controller_name = $this->getName(); | |
2160 | + foreach ($fields_names as $fname=>$infos) { | |
2161 | + // Si $fname est une FK, on définit son nice_name à partir de son controleur | |
2162 | + if (substr($fname,-3)=='_id') { | |
2163 | + $fk_controller_name = $infos['controller_name']; | |
2164 | + //$fk_controller_instance = new $fk_controller_name; | |
2165 | + $fk_controller_instance = $this->getControllerInstanceForName($fk_controller_name); | |
2166 | + $nice_name = ucwords($fk_controller_instance->getNiceNameSingularLowerCase()); | |
2167 | + $fields_names[$fname]['nice_name'] = $nice_name; | |
2168 | + } | |
2169 | + } | |
2170 | + $controller_name = $this->getName(); | |
2157 | 2171 | //debug($controller_name); |
2158 | 2172 | |
2159 | 2173 | $this->paginate = [ |
... | ... | @@ -2354,7 +2368,7 @@ class AppController extends Controller |
2354 | 2368 | $c = new $c(); |
2355 | 2369 | */ |
2356 | 2370 | // 'Domaine' |
2357 | - $parent_entity_type_name=$c->getTypeNameSingular($parent_entity_controller_name); | |
2371 | + $parent_entity_type_name=$c->getNiceNameSingularLowerCase($parent_entity_controller_name); | |
2358 | 2372 | //debug($parent_entity_type_name); |
2359 | 2373 | // nom de l'instance de l'entité parente |
2360 | 2374 | // 'sur_category' |
... | ... | @@ -2401,7 +2415,7 @@ class AppController extends Controller |
2401 | 2415 | $c_parent = 'App\\Controller\\'.$parent_entity_controller_name.'Controller'; |
2402 | 2416 | $c_parent = new $c_parent(); |
2403 | 2417 | // 'Domaine' |
2404 | - $parent_entity_type_name=$c_parent->getTypeNameSingular(); | |
2418 | + $parent_entity_type_name=$c_parent->getNiceNameSingularLowerCase(); | |
2405 | 2419 | //debug($parent_entity_type_name); |
2406 | 2420 | // nom de l'instance de l'entité parente |
2407 | 2421 | // 'sur_category' |
... | ... | @@ -2453,9 +2467,9 @@ class AppController extends Controller |
2453 | 2467 | $c = new $c(); |
2454 | 2468 | */ |
2455 | 2469 | // ex: 'catégorie' |
2456 | - $et['entity_type_name_singular'] = $c->getTypeNameSingular(); | |
2470 | + $et['entity_type_name_singular'] = $c->getNiceNameSingularLowerCase(); | |
2457 | 2471 | // ex: 'catégories' |
2458 | - $et['entity_title'] = $c->getTypeNamePlural(); | |
2472 | + $et['entity_title'] = $c->getNiceNamePluralLowerCase(); | |
2459 | 2473 | $et['is_masculin'] = $c->is_masculin; |
2460 | 2474 | $et['name_field_label'] = $c->getNameFieldLabel(); |
2461 | 2475 | //$et['entities'] = $this->SurCategories->$entity_type->find()->where([ |
... | ... | @@ -2512,7 +2526,8 @@ class AppController extends Controller |
2512 | 2526 | //$entity_article = 'le '; |
2513 | 2527 | $entity_article = $this->getMyArticle(); |
2514 | 2528 | //$entity_type_name = 'domaine'; |
2515 | - $entity_type_name_singular = $this->getTypeNameSingular(); | |
2529 | + //$entity_type_name_singular = $this->getNiceNameSingularLowerCase(); | |
2530 | + $entity_type_name_singular = $this->getNiceNameSingularLowerCase(); | |
2516 | 2531 | //$entity_name = $entity->getMyName(); |
2517 | 2532 | //$entity_name = $entity->nom; |
2518 | 2533 | $entity_name_field_label = $this->getNameFieldLabel(); |
... | ... | @@ -3169,9 +3184,6 @@ class AppController extends Controller |
3169 | 3184 | } // beforeRender() |
3170 | 3185 | |
3171 | 3186 | |
3172 | - // "le materiel", "le suivi", "l'emprunt", "la catégorie"... | |
3173 | - // Par défaut | |
3174 | - public function getArticle() { return "Le "; } | |
3175 | 3187 | |
3176 | 3188 | static function isLabinventDebugMode() |
3177 | 3189 | { |
... | ... | @@ -3590,7 +3602,7 @@ class AppController extends Controller |
3590 | 3602 | |
3591 | 3603 | // Entité (Entity) |
3592 | 3604 | //$entity_nice_name = $this->getNiceName(); // matériel, domaine, utilisateur... |
3593 | - $entity_nice_type_name = $this->getTypeNameSingular(); // matériel, domaine, utilisateur... | |
3605 | + $entity_nice_type_name = $this->getNiceNameSingularLowerCase(); // matériel, domaine, utilisateur... | |
3594 | 3606 | |
3595 | 3607 | // Si pas d'entité définie => return |
3596 | 3608 | ////$entity = $this->e; | ... | ... |
src/Controller/CategoriesController.php
... | ... | @@ -23,7 +23,7 @@ class CategoriesController extends AppController |
23 | 23 | |
24 | 24 | // Nom pluriel affichable pour cette entité |
25 | 25 | //@Override |
26 | - public function getTypeNamePlural($alias_controller_name=null) { return 'catégories'; } | |
26 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { return 'catégories'; } | |
27 | 27 | |
28 | 28 | //@deprecated |
29 | 29 | public function getArticle() |
... | ... | @@ -107,7 +107,11 @@ class CategoriesController extends AppController |
107 | 107 | [ |
108 | 108 | //'nom'=>['nice_name'=>'Nom'], |
109 | 109 | 'nom'=>[], |
110 | - 'sur_categorie_id'=>['nice_name'=>'Domaine', 'contained_entity_name'=>'sur_category', 'controller_name'=>'SurCategories'], | |
110 | + 'sur_categorie_id'=>[ | |
111 | + //'nice_name'=>'Domaine', | |
112 | + 'contained_entity_name'=>'sur_category', | |
113 | + 'controller_name'=>'SurCategories' | |
114 | + ], | |
111 | 115 | ], |
112 | 116 | ['SurCategories'], |
113 | 117 | true, true, | ... | ... |
src/Controller/GroupesMetiersController.php
... | ... | @@ -13,9 +13,12 @@ class GroupesMetiersController extends AppController |
13 | 13 | { |
14 | 14 | |
15 | 15 | // Nom pluriel affichable pour cette entité |
16 | + //public function getNiceNamePluralLowerCase($alias_controller_name=null) { return 'groupes métiers'; } | |
16 | 17 | //@Override |
17 | - public function getTypeNamePlural($alias_controller_name=null) { | |
18 | - return 'groupes métiers'; | |
18 | + // Par défaut = 'groupes métiers' | |
19 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
20 | + //return 'groupes métiers'; | |
21 | + return strtolower( $this->confLabinvent->nom_groupe_metier ? $this->confLabinvent->nom_groupe_metier : 'groupes métiers' ); | |
19 | 22 | } |
20 | 23 | |
21 | 24 | /** |
... | ... | @@ -162,19 +165,21 @@ class GroupesMetiersController extends AppController |
162 | 165 | if ($this->request->is('post')) { |
163 | 166 | $groupesMetier = $this->GroupesMetiers->patchEntity($groupesMetier, $this->request->getData()); |
164 | 167 | if ($this->GroupesMetiers->save($groupesMetier)) { |
165 | - $this->Flash->success(__('Le groupe métier a bien été ajouté.')); | |
168 | + $this->Flash->success(__("L'entité a bien été ajoutée")); | |
166 | 169 | return $this->redirect([ |
167 | 170 | 'action' => 'view', |
168 | 171 | $groupesMetier->id |
169 | 172 | ]); |
170 | 173 | } else { |
171 | - $this->Flash->error(__('Le groupe métier n\'a pas pu être ajouté.')); | |
174 | + $this->Flash->error(__("L'entité n'a pas pu être ajoutée")); | |
172 | 175 | } |
173 | 176 | } |
174 | 177 | $this->set(compact('groupesMetier')); |
178 | + /* (EP) inutile, seulement pour json | |
175 | 179 | $this->set('_serialize', [ |
176 | 180 | 'groupesMetier' |
177 | 181 | ]); |
182 | + */ | |
178 | 183 | } |
179 | 184 | |
180 | 185 | /** | ... | ... |
src/Controller/GroupesThematiquesController.php
... | ... | @@ -13,14 +13,15 @@ class GroupesThematiquesController extends AppController |
13 | 13 | { |
14 | 14 | |
15 | 15 | // Nom pluriel affichable pour cette entité |
16 | + //public function getNiceNamePluralLowerCase($alias_controller_name=null) { return 'groupes métiers'; } | |
16 | 17 | //@Override |
17 | - public function getTypeNamePlural($alias_controller_name=null) { | |
18 | - //return strtolower($this->name); | |
19 | - //return strtolower($this->getName()); | |
20 | - //return 'sur-catégories'; | |
21 | - return 'groupes thématiques'; | |
18 | + // Par défaut = 'groupes métiers' | |
19 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
20 | + //return 'groupes métiers'; | |
21 | + return strtolower( $this->confLabinvent->nom_groupe_thematique ? $this->confLabinvent->nom_groupe_thematique : 'groupes thématiques' ); | |
22 | 22 | } |
23 | 23 | |
24 | + | |
24 | 25 | /** |
25 | 26 | * Give authorization for groupes thematiques |
26 | 27 | * | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -129,11 +129,11 @@ class MaterielsController extends AppController { |
129 | 129 | /* |
130 | 130 | // Nom singulier affichable pour cette entité |
131 | 131 | // @Override |
132 | - public function getTypeNameSingular() { return "matériel"; } | |
132 | + public function getNiceNameSingularLowerCase() { return "matériel"; } | |
133 | 133 | */ |
134 | 134 | // Nom pluriel affichable pour cette entité |
135 | 135 | //@Override |
136 | - public function getTypeNamePlural($alias_controller_name=null) { return 'matériels'; } | |
136 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { return 'matériels'; } | |
137 | 137 | |
138 | 138 | |
139 | 139 | private $NOTARCHIVED = [ | ... | ... |
src/Controller/SousCategoriesController.php
... | ... | @@ -32,7 +32,7 @@ class SousCategoriesController extends AppController |
32 | 32 | |
33 | 33 | // Nom pluriel affichable pour cette entité |
34 | 34 | //@Override |
35 | - public function getTypeNamePlural($alias_controller_name=null) { return 'sous-catégories'; } | |
35 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { return 'sous-catégories'; } | |
36 | 36 | |
37 | 37 | /* |
38 | 38 | * @Override |
... | ... | @@ -99,7 +99,10 @@ class SousCategoriesController extends AppController |
99 | 99 | [ |
100 | 100 | //'nom'=>['nice_name'=>'Nom'], |
101 | 101 | 'nom'=>[], |
102 | - 'categorie_id'=>['nice_name'=>'Catégorie', 'contained_entity_name'=>'category', 'controller_name'=>'Categories'], | |
102 | + 'categorie_id'=>[ | |
103 | + //'nice_name'=>'Catégorie', | |
104 | + 'contained_entity_name'=>'category', | |
105 | + 'controller_name'=>'Categories'], | |
103 | 106 | ], |
104 | 107 | ['Categories'], |
105 | 108 | true, true, | ... | ... |
src/Controller/StatsController.php
... | ... | @@ -39,13 +39,18 @@ class StatsController extends AppController |
39 | 39 | 'statistiques de connexion', |
40 | 40 | [ |
41 | 41 | 'year'=>['nice_name'=>'Année'], |
42 | - 'user_id'=>['nice_name'=>'Utilisateur', 'contained_entity_name'=>'user', 'controller_name'=>'Users'], | |
42 | + 'user_id'=>[ | |
43 | + //'nice_name'=>'Utilisateur', | |
44 | + 'contained_entity_name'=>'user', 'controller_name'=>'Users'], | |
43 | 45 | 'last_login_time' => [], |
44 | - 'last_connex_dur'=>['nice_name'=>'Last connexion duration (h)', 'f'=>'getHourMnSecForDuration'], | |
46 | + 'last_connex_dur'=>[ | |
47 | + 'nice_name'=>'Last connexion duration (h)', 'f'=>'getHourMnSecForDuration'], | |
45 | 48 | 'last_logout_time'=>[], |
46 | - 'connex_dur_tot'=>['nice_name'=>"Temps connexion cumulé (h)", 'f'=>'getHourMnSecForDuration'], | |
49 | + 'connex_dur_tot'=>[ | |
50 | + 'nice_name'=>"Temps connexion cumulé (h)", 'f'=>'getHourMnSecForDuration'], | |
47 | 51 | 'connex_nb'=>['nice_name'=>"Nb connexions"], |
48 | - 'connexDurAvg'=>['nice_name'=>"Durée connexion moyenne (sur année)", 'f'=>'getHourMnSecForDuration'] | |
52 | + 'connexDurAvg'=>[ | |
53 | + 'nice_name'=>"Durée connexion moyenne (sur année)", 'f'=>'getHourMnSecForDuration'] | |
49 | 54 | ], |
50 | 55 | ['Users'], |
51 | 56 | false, false, | ... | ... |
src/Controller/SurCategoriesController.php
... | ... | @@ -23,7 +23,7 @@ class SurCategoriesController extends AppController |
23 | 23 | /* |
24 | 24 | // Nom singulier affichable pour cette entité |
25 | 25 | // @Override parent |
26 | - public function getTypeNameSingular() { | |
26 | + public function getNiceNameSingularLowerCase() { | |
27 | 27 | //return strtolower($this->name); |
28 | 28 | //return strtolower($this->getName()); |
29 | 29 | return 'domaine'; |
... | ... | @@ -53,7 +53,7 @@ class SurCategoriesController extends AppController |
53 | 53 | } |
54 | 54 | // Nom pluriel affichable pour cette entité |
55 | 55 | //@Override |
56 | - public function getTypeNamePlural($alias_controller_name=null) { | |
56 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
57 | 57 | //return strtolower($this->name); |
58 | 58 | //return strtolower($this->getName()); |
59 | 59 | //return 'sur-catégories'; | ... | ... |
src/Controller/TypeDocumentsController.php
... | ... | @@ -14,7 +14,7 @@ class TypeDocumentsController extends AppController |
14 | 14 | |
15 | 15 | // Nom pluriel affichable pour cette entité |
16 | 16 | //@Override |
17 | - public function getTypeNamePlural($alias_controller_name=null) { | |
17 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
18 | 18 | return 'types de documents'; |
19 | 19 | } |
20 | 20 | ... | ... |
src/Controller/TypeSuivisController.php
... | ... | @@ -12,6 +12,11 @@ use Cake\ORM\TableRegistry; |
12 | 12 | class TypeSuivisController extends AppController |
13 | 13 | { |
14 | 14 | |
15 | + | |
16 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
17 | + return 'types de suivis'; | |
18 | + } | |
19 | + | |
15 | 20 | // Jolis labels pour chaque champ de l'entité |
16 | 21 | //@Override |
17 | 22 | protected $nice_field_labels = [ | ... | ... |
src/Controller/UsersController.php
... | ... | @@ -34,7 +34,7 @@ class UsersController extends AppController { |
34 | 34 | */ |
35 | 35 | // Nom pluriel affichable pour cette entité |
36 | 36 | //@Override |
37 | - public function getTypeNamePlural($alias_controller_name=null) { | |
37 | + public function getNiceNamePluralLowerCase($alias_controller_name=null) { | |
38 | 38 | //return strtolower($this->name); |
39 | 39 | //return strtolower($this->getName()); |
40 | 40 | if ($alias_controller_name == 'ChefSciences') return 'responsables scientifiques (PI)'; |
... | ... | @@ -572,15 +572,15 @@ class UsersController extends AppController { |
572 | 572 | 'email' => [], |
573 | 573 | 'role' => [], |
574 | 574 | 'groupes_thematique_id'=>[ |
575 | - 'nice_name'=>'Groupe Thématique', | |
575 | + //'nice_name'=>'Groupe Thématique', | |
576 | 576 | 'contained_entity_name'=>'groupes_thematique', 'controller_name'=>'GroupesThematiques' |
577 | 577 | ], |
578 | 578 | 'groupes_metier_id'=>[ |
579 | - 'nice_name'=>'Groupe Métier', | |
579 | + //'nice_name'=>'Groupe Métier', | |
580 | 580 | 'contained_entity_name'=>'groupes_metier', 'controller_name'=>'GroupesMetiers' |
581 | 581 | ], |
582 | 582 | 'sur_categorie_id'=>[ |
583 | - 'nice_name'=>'Domaine', | |
583 | + //'nice_name'=>'Domaine', | |
584 | 584 | 'contained_entity_name'=>'sur_category', 'controller_name'=>'SurCategories' |
585 | 585 | ], |
586 | 586 | ], | ... | ... |
src/Template/Common/index_gen.ctp
... | ... | @@ -71,6 +71,7 @@ if (empty($fields_names['nom'])) $fields_names['nom'] = ['nice_name'=>'Nom']; |
71 | 71 | //foreach ($fields_names as $fname=>$fnicename) echo "<th>".$this->Paginator->sort($fname, $fnicename)."</th>"; |
72 | 72 | //foreach ($fields_names as $fname=>$infos) { |
73 | 73 | foreach ($fields_names as $fname=>$infos) { |
74 | + // Joli nom pour le titre de la colonne (nice name) | |
74 | 75 | $nice_name = isset($infos['nice_name']) ? $infos['nice_name'] : $fname; |
75 | 76 | if ( in_array($fname, array_keys($sortWhitelist)) ) $fname = $sortWhitelist[$fname]; |
76 | 77 | echo "<th>".$this->Paginator->sort($fname, ucfirst($nice_name))."</th>"; | ... | ... |
src/Template/Common/index_groups.ctp
... | ... | @@ -25,6 +25,7 @@ $groups = $groups; |
25 | 25 | $words = explode(' ',$group_type_name); |
26 | 26 | $group_type_name_plural = ''; |
27 | 27 | foreach($words as $word) $group_type_name_plural .= $word.'s '; |
28 | + $group_type_name_plural = ucwords($group_type_name_plural); | |
28 | 29 | echo "<h2><i class='icon-list'></i> Liste des $group_type_name_plural</h2>"; |
29 | 30 | |
30 | 31 | // Si une url est donnée vers la page des Groupes thématiques sur le site web du labo, on l'affiche | ... | ... |
src/Template/Common/view.ctp
... | ... | @@ -71,7 +71,10 @@ if (isset($sub_controller)) { |
71 | 71 | --> |
72 | 72 | <div class="Entity view"> |
73 | 73 | |
74 | - <h2>Informations sur <?=$entity_article.$entity_type_name_singular.' "'.$entity_name.'"'?></h2> | |
74 | + <!-- | |
75 | + <h2>Informations sur <=$entity_article.$entity_type_name_singular.' "'.$entity_name.'"'?></h2> | |
76 | + --> | |
77 | + <h2><?=ucfirst($entity_type_name_singular).' "'.$entity_name.'"'?></h2> | |
75 | 78 | |
76 | 79 | <?= $this->Html->link("Voir toutes les entités (liste)", ['action'=>'index']) ?> |
77 | 80 | <br /> | ... | ... |
src/Template/Pages/tools_sm.ctp
... | ... | @@ -136,6 +136,7 @@ foreach (['metier','thematique'] as $group_type) { |
136 | 136 | } else { |
137 | 137 | $nom = $names[0] . 's'; |
138 | 138 | } |
139 | + $nom = ucwords($nom); | |
139 | 140 | //$this->MyHelper->echoListToManageOrViewWithIcon($this->Html, $nom, 'groupes_thematiques'); |
140 | 141 | //$this->MyHelper->echoListToManageOrViewWithIcon($CAN_MANAGE, $nom, 'groupes_'.$group_type.'s'); |
141 | 142 | $entity_name = 'groupes_'.$group_type.'s'; | ... | ... |