Commit 134406cd5712fabbf2f42b6aa7c3f15769999f27
1 parent
f8e1aa25
Exists in
master
and in
1 other branch
Une seule vue unique pour la liste des groupes métier/thématique
(refactorisation) => nouvelle action générique index_generic() dans Controller/AppController.php (à côté de view_generic()) => nouvelle vue générique index.ctp dans Template/Common/ (à côté de view.ctp) => début de vue unique pour TOUTES les "autres listes" (faut juste généraliser un peu plus...) => TODO: ne restera plus qu'à faire la dernière vue/action générique add_edit (mais aussi delete), pour avoir un CRUD générique complet pour TOUTES les "autres listes" Mais aussi : - Ajout d'un lien vers la page web des projets du lobo (sur page projets) - On n'affiche que la 1ère ligne de la description des groupes thématique/métier v4.105.10-3.7.9
Showing
11 changed files
with
210 additions
and
165 deletions
Show diff stats
CHANGES.txt
@@ -120,6 +120,17 @@ Outre ces changements, voici d'autres changements importants : | @@ -120,6 +120,17 @@ Outre ces changements, voici d'autres changements importants : | ||
120 | ======= CHANGES ======= | 120 | ======= CHANGES ======= |
121 | 121 | ||
122 | ------- | 122 | ------- |
123 | +09/10/2020 v4.105.10-3.7.9 (EP) | ||
124 | + - (i) Une seule vue unique pour la liste des groupes métier/thématique (refactorisation) | ||
125 | + => nouvelle action générique index_generic() dans Controller/AppController.php (à côté de view_generic()) | ||
126 | + => nouvelle vue générique index.ctp dans Template/Common/ (à côté de view.ctp) | ||
127 | + => début de vue unique pour TOUTES les "autres listes" (faut juste généraliser un peu plus...) | ||
128 | + => TODO: ne restera plus qu'à faire la dernière vue/action générique add_edit (mais aussi delete), | ||
129 | + pour avoir un CRUD générique complet pour TOUTES les "autres listes" | ||
130 | + - (e) Ajout d'un lien vers la page web des projets du lobo (sur page projets) | ||
131 | + - (e) On n'affiche que la 1ère ligne de la description des groupes thématique/métier | ||
132 | + | ||
133 | +------- | ||
123 | 08/10/2020 v4.105.9-3.7.9 (EP) | 134 | 08/10/2020 v4.105.9-3.7.9 (EP) |
124 | - (i) Ajout d'un lien vers la page web des groupes métier/thématique du lobo | 135 | - (i) Ajout d'un lien vers la page web des groupes métier/thématique du lobo |
125 | - (i) Ajout de la mention de l'utilisateur (proprio) du matériel dans les notifications | 136 | - (i) Ajout de la mention de l'utilisateur (proprio) du matériel dans les notifications |
README.md
@@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | ||
43 | -------------------------------------------------------------------------------------------- | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | ||
45 | Date: 08/10/2020 | 45 | Date: 08/10/2020 |
46 | -Version: 4.105.9-3.7.9 | 46 | +Version: 4.105.10-3.7.9 |
47 | 47 | ||
48 | 48 | ||
49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) |
src/Controller/AppController.php
@@ -2176,6 +2176,29 @@ class AppController extends Controller | @@ -2176,6 +2176,29 @@ class AppController extends Controller | ||
2176 | 2176 | ||
2177 | } // beforeFilter() | 2177 | } // beforeFilter() |
2178 | 2178 | ||
2179 | + | ||
2180 | + public function index_generic($group_type1, $group_type2, $lab_website_url=null) { | ||
2181 | + | ||
2182 | + // https://book.cakephp.org/3/fr/controllers/components/pagination.html | ||
2183 | + $groups = $this->paginate(); | ||
2184 | + // ce qui revient au même que : | ||
2185 | + //$groupesThematiques = $this->paginate($this->GroupesThematiques); | ||
2186 | + | ||
2187 | + //$group_type1 = 'thematique'; | ||
2188 | + //$group_type2 = 'thématique'; | ||
2189 | + | ||
2190 | + // Si on est sur l'instance de l'IRAP (InventIrap) | ||
2191 | + // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP | ||
2192 | + $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : $lab_website_url; | ||
2193 | + | ||
2194 | + $this->set(compact('group_type1', 'group_type2', 'lab_website_url', 'groups')); | ||
2195 | + | ||
2196 | + /* Utile seulement pour JSON | ||
2197 | + $this->set('_serialize', [ | ||
2198 | + 'groupesThematiques' | ||
2199 | + ]); | ||
2200 | + */ | ||
2201 | + } | ||
2179 | 2202 | ||
2180 | //public function view_generic($id, $associated_entity_types, $parent_entity_controller_name=[]) { | 2203 | //public function view_generic($id, $associated_entity_types, $parent_entity_controller_name=[]) { |
2181 | //public function view_generic($id, $associated_entity_types, $containavirer=[]) { | 2204 | //public function view_generic($id, $associated_entity_types, $containavirer=[]) { |
src/Controller/GroupesMetiersController.php
@@ -76,20 +76,31 @@ class GroupesMetiersController extends AppController | @@ -76,20 +76,31 @@ class GroupesMetiersController extends AppController | ||
76 | * | 76 | * |
77 | * @return \Cake\Network\Response|null | 77 | * @return \Cake\Network\Response|null |
78 | */ | 78 | */ |
79 | - public function index() | ||
80 | - { | ||
81 | - $groupesMetiers = $this->paginate($this->GroupesMetiers); | 79 | + public function index() { |
80 | + | ||
81 | + $this->index_generic( | ||
82 | + 'metier', 'métier', | ||
83 | + "https://www.irap.omp.eu/homepage/organisation/groupes-metiers" | ||
84 | + ); | ||
85 | + | ||
86 | + /* | ||
87 | + //$groupesMetiers = $this->paginate($this->GroupesMetiers); | ||
88 | + $groups = $this->paginate($this->GroupesMetiers); | ||
89 | + | ||
90 | + $group_type1 = 'metier'; | ||
91 | + $group_type2 = 'métier'; | ||
82 | 92 | ||
83 | // Si on est sur l'instance de l'IRAP (InventIrap) | 93 | // Si on est sur l'instance de l'IRAP (InventIrap) |
84 | // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP | 94 | // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP |
85 | $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : "https://www.irap.omp.eu/homepage/organisation/groupes-metiers"; | 95 | $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : "https://www.irap.omp.eu/homepage/organisation/groupes-metiers"; |
86 | 96 | ||
87 | - $this->set(compact('groupesMetiers', 'lab_website_url')); | ||
88 | - | ||
89 | - /* Utile seulement pour JSON | 97 | + //$this->set(compact('groupesMetiers', 'lab_website_url')); |
98 | + $this->set(compact('group_type1', 'group_type2', 'lab_website_url', 'groups')); | ||
99 | + /S Utile seulement pour JSON | ||
90 | $this->set('_serialize', [ | 100 | $this->set('_serialize', [ |
91 | 'groupesMetiers' | 101 | 'groupesMetiers' |
92 | ]); | 102 | ]); |
103 | + S/ | ||
93 | */ | 104 | */ |
94 | } | 105 | } |
95 | 106 |
src/Controller/GroupesThematiquesController.php
@@ -69,23 +69,36 @@ class GroupesThematiquesController extends AppController | @@ -69,23 +69,36 @@ class GroupesThematiquesController extends AppController | ||
69 | * | 69 | * |
70 | * @return \Cake\Network\Response|null | 70 | * @return \Cake\Network\Response|null |
71 | */ | 71 | */ |
72 | - public function index() | ||
73 | - { | ||
74 | - $groupesThematiques = $this->paginate($this->GroupesThematiques); | 72 | + public function index() { |
73 | + | ||
74 | + $this->index_generic( | ||
75 | + 'thematique', 'thématique', | ||
76 | + "https://www.irap.omp.eu/homepage/organisation/groupes-thematiques" | ||
77 | + ); | ||
78 | + | ||
79 | + /* | ||
80 | + // https://book.cakephp.org/3/fr/controllers/components/pagination.html | ||
81 | + $groups = $this->paginate(); | ||
82 | + // ce qui revient au même que : | ||
83 | + //$groupesThematiques = $this->paginate($this->GroupesThematiques); | ||
84 | + | ||
85 | + $group_type1 = 'thematique'; | ||
86 | + $group_type2 = 'thématique'; | ||
75 | 87 | ||
76 | // Si on est sur l'instance de l'IRAP (InventIrap) | 88 | // Si on est sur l'instance de l'IRAP (InventIrap) |
77 | // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP | 89 | // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP |
78 | $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : "https://www.irap.omp.eu/homepage/organisation/groupes-thematiques"; | 90 | $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : "https://www.irap.omp.eu/homepage/organisation/groupes-thematiques"; |
79 | 91 | ||
80 | - $this->set(compact('groupesThematiques', 'lab_website_url')); | 92 | + $this->set(compact('group_type1', 'group_type2', 'lab_website_url', 'groups')); |
81 | 93 | ||
82 | - /* Utile seulement pour JSON | 94 | + /S Utile seulement pour JSON |
83 | $this->set('_serialize', [ | 95 | $this->set('_serialize', [ |
84 | 'groupesThematiques' | 96 | 'groupesThematiques' |
85 | ]); | 97 | ]); |
98 | + S/ | ||
86 | */ | 99 | */ |
87 | - | ||
88 | } | 100 | } |
101 | + | ||
89 | 102 | ||
90 | /** | 103 | /** |
91 | * View method | 104 | * View method |
src/Controller/ProjetsController.php
@@ -43,14 +43,29 @@ class ProjetsController extends AppController { | @@ -43,14 +43,29 @@ class ProjetsController extends AppController { | ||
43 | */ | 43 | */ |
44 | public function index() | 44 | public function index() |
45 | { | 45 | { |
46 | + // https://book.cakephp.org/3/fr/controllers/components/pagination.html | ||
46 | $this->paginate = [ | 47 | $this->paginate = [ |
47 | //'contain' => ['GroupesThematiques', 'Users'] | 48 | //'contain' => ['GroupesThematiques', 'Users'] |
48 | //'contain' => ['GroupesThematiques', 'Pis', 'Pms'] | 49 | //'contain' => ['GroupesThematiques', 'Pis', 'Pms'] |
49 | 'contain' => ['GroupesThematiques', 'ChefSciences', 'ChefProjets'] | 50 | 'contain' => ['GroupesThematiques', 'ChefSciences', 'ChefProjets'] |
50 | ]; | 51 | ]; |
51 | - $projets = $this->paginate($this->Projets); | ||
52 | - | ||
53 | - $this->set(compact('projets')); | 52 | + $projets = $this->paginate(); |
53 | + // ce qui équivaut à : | ||
54 | + //s$projets = $this->paginate($this->Projets); | ||
55 | + | ||
56 | + // Si on est sur l'instance de l'IRAP (InventIrap) | ||
57 | + // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP | ||
58 | + $lab_website_urls = ($this->confLabinvent->labNameShort != 'IRAP') ? | ||
59 | + [] | ||
60 | + : | ||
61 | + [ | ||
62 | + 'Projets Instrumentaux' => 'https://www.irap.omp.eu/sedoo-project-tag/projets_instrumentaux', | ||
63 | + 'Projets Scientifiques' => 'https://www.irap.omp.eu/sedoo-project-tag/projets-scientifiques', | ||
64 | + 'Projets R&T' => 'https://www.irap.omp.eu/sedoo-project-tag/rt', | ||
65 | + 'Projets financés (ANR, Europe...)' => 'https://www.irap.omp.eu/observation-instrumentation/projets/projets-finances', | ||
66 | + ]; | ||
67 | + | ||
68 | + $this->set(compact('projets', 'lab_website_urls')); | ||
54 | } | 69 | } |
55 | 70 | ||
56 | /** | 71 | /** |
@@ -0,0 +1,105 @@ | @@ -0,0 +1,105 @@ | ||
1 | +<?php | ||
2 | +// Variables passées par le controleur | ||
3 | +/* | ||
4 | +$group_type1 = 'thematique'; | ||
5 | +$group_type2 = 'thématique'; | ||
6 | +$group_type1 = 'metier'; | ||
7 | +$group_type2 = 'métier'; | ||
8 | +*/ | ||
9 | +$group_type1 = $group_type1; | ||
10 | +$group_type2 = $group_type2; | ||
11 | +$lab_website_url = $lab_website_url; | ||
12 | +$groups = $groups; | ||
13 | +?> | ||
14 | + | ||
15 | +<!-- | ||
16 | +<div class="groupesThematiques index"> | ||
17 | + --> | ||
18 | +<div class="groups index"> | ||
19 | + | ||
20 | + <?php | ||
21 | + // Nom du groupe au pluriel (chaque mot) | ||
22 | + //echo '<h2><i class="icon-list"></i> Liste des '.$configuration->nom_groupe_thematique.'s</h2>'; | ||
23 | + $group_type_name = $configuration->{'nom_groupe_'.$group_type1}; | ||
24 | + $words = explode(' ',$group_type_name); | ||
25 | + $group_type_name_plural = ''; | ||
26 | + foreach($words as $word) $group_type_name_plural .= $word.'s '; | ||
27 | + echo "<h2><i class='icon-list'></i> Liste des $group_type_name_plural</h2>"; | ||
28 | + | ||
29 | + // Si une url est donnée vers la page des Groupes thématiques sur le site web du labo, on l'affiche | ||
30 | + if ($lab_website_url) | ||
31 | + echo "=> <a href=$lab_website_url>Groupes {$group_type2}s sur le site web du laboratoire</a><br/><br/>"; | ||
32 | + | ||
33 | + echo $this->element('button_add'); | ||
34 | + ?> | ||
35 | + | ||
36 | + <table style="border-collapse: separate; border-spacing: 0; width: 270px;"> | ||
37 | + | ||
38 | + <thead> | ||
39 | + <tr> | ||
40 | + <th class="actions"><?= __('') ?></th> | ||
41 | + <!-- Pas de tri sur les colonnes, inutile | ||
42 | + <th><= $this->Paginator->sort('nom', 'Nom') ?></th> | ||
43 | + <th><= $this->Paginator->sort('description', 'Description') ?></th> | ||
44 | + --> | ||
45 | + <th>Nom</th> | ||
46 | + <th>Description</th> | ||
47 | + </tr> | ||
48 | + </thead> | ||
49 | + | ||
50 | + <tbody> | ||
51 | + <?php | ||
52 | + foreach ($groups as $group) : | ||
53 | + //if ($group->nom != 'N/A') { | ||
54 | + if ($group->id) { | ||
55 | + ?> | ||
56 | + <tr> | ||
57 | + | ||
58 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | ||
59 | + <?php | ||
60 | + if (in_array($role, ['Administration Plus', 'Super Administrateur'])) | ||
61 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $group->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]); | ||
62 | + if (in_array($role, ['Super Administrateur'])) | ||
63 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $group->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer ce groupe ?', $group->id)]); | ||
64 | + //echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $group->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $group->id)]); | ||
65 | + ?> | ||
66 | + </td> | ||
67 | + | ||
68 | + <td class="smallText"><?= $this->Html->link($group->nom, ['action' => 'view', $group->id]) ?></td> | ||
69 | + | ||
70 | + <?php | ||
71 | + // On n'affiche que la 1ère ligne de la description | ||
72 | + //$group->description = null; | ||
73 | + $description_first_line = explode("\n", $group->description)[0]; | ||
74 | + //debug($description_short); | ||
75 | + //$description_short = $description_short[0]; | ||
76 | + ?> | ||
77 | + <td class="smallText"><?=h($description_first_line)?></td> | ||
78 | + | ||
79 | + </tr> | ||
80 | + <?php | ||
81 | + } // if | ||
82 | + endforeach; | ||
83 | + ?> | ||
84 | + </tbody> | ||
85 | + | ||
86 | + </table> | ||
87 | + | ||
88 | + <?php | ||
89 | + // Inutile | ||
90 | + //echo $this->element('pagination'); | ||
91 | + ?> | ||
92 | + | ||
93 | +</div> | ||
94 | + | ||
95 | +<!-- | ||
96 | +<div class="actions"> | ||
97 | + <php echo $this->element('menu') ?> | ||
98 | + <php | ||
99 | + | ||
100 | +echo $this->element('menu_index', [ | ||
101 | + 'pluralHumanName' => $configuration->nom_groupe_thematique . 's', | ||
102 | + 'singularHumanName' => $configuration->nom_groupe_thematique | ||
103 | +])?> | ||
104 | + </div> | ||
105 | +--> | ||
0 | \ No newline at end of file | 106 | \ No newline at end of file |
src/Template/Common/view.ctp
@@ -190,6 +190,7 @@ $child_entities_list = $child_entities_list; | @@ -190,6 +190,7 @@ $child_entities_list = $child_entities_list; | ||
190 | <?php | 190 | <?php |
191 | if ($entity->has('description') && $entity->description) { | 191 | if ($entity->has('description') && $entity->description) { |
192 | echo "<b><u>Description :</b></u>"; | 192 | echo "<b><u>Description :</b></u>"; |
193 | + echo "<br/><br/>"; | ||
193 | echo $this->Text->autoParagraph(h($entity->description)); | 194 | echo $this->Text->autoParagraph(h($entity->description)); |
194 | echo "<br/><br/>"; | 195 | echo "<br/><br/>"; |
195 | } | 196 | } |
src/Template/GroupesMetiers/index.ctp
1 | -<?php | ||
2 | -// Variables passées par le controleur | ||
3 | -$groupesMetiers = $groupesMetiers; | ||
4 | -$lab_website_url = $lab_website_url; | ||
5 | -?> | ||
6 | - | ||
7 | -<div class="groupesMetiers index"> | ||
8 | - | ||
9 | - <?php echo '<h2><i class="icon-list"></i> Liste des '.$configuration->nom_groupe_metier.'</h2>'; | ||
10 | - | ||
11 | - // Si une url est donnée vers la page des Groupes métiers sur le site web du labo, on l'affiche | ||
12 | - if ($lab_website_url) { | ||
13 | - ?> | ||
14 | - => <a href=<?=$lab_website_url?>> | ||
15 | - Groupes métiers sur le site web du laboratoire | ||
16 | - </a> | ||
17 | - <br/><br/> | ||
18 | - <?php | ||
19 | - } | ||
20 | - | ||
21 | - echo $this->element('button_add'); | ||
22 | - ?> | ||
23 | - | ||
24 | - <table style="border-collapse: separate; border-spacing: 0; width: 270px;"> | ||
25 | - <thead> | ||
26 | - <tr> | ||
27 | - <th class="actions"><?= __('') ?></th> | ||
28 | - <th><?= $this->Paginator->sort('nom', 'Nom') ?></th> | ||
29 | - <th><?= $this->Paginator->sort('description', 'Description') ?></th> | ||
30 | - | ||
31 | - </tr> | ||
32 | - </thead> | ||
33 | - <tbody> | ||
34 | - <?php | ||
35 | - | ||
36 | -foreach ($groupesMetiers as $groupesMetier) : | ||
37 | - if ($groupesMetier->nom != 'N/A') { | ||
38 | - ?> | ||
39 | - <tr> | ||
40 | - | ||
41 | - <td class="actions" style="padding: 6px 0; text-align: left;"> | ||
42 | - <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> | ||
43 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesMetier->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | ||
44 | - <?php } ?> | ||
45 | - | ||
46 | - <?php if (in_array($role, ['Super Administrateur'])) { ?> | ||
47 | - <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $groupesMetier->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $groupesMetier->id)]) ?> | ||
48 | - <?php } ?> | ||
49 | - </td> | ||
50 | - <td class="smallText"><?= $this->Html->link($groupesMetier->nom, ['action' => 'view', $groupesMetier->id]) ?></td> | ||
51 | - <td class="smallText"><?= h($groupesMetier->description) ?></td> | ||
52 | - | ||
53 | - | ||
54 | - | ||
55 | - </tr> | ||
56 | - <?php | ||
57 | - } | ||
58 | - endforeach | ||
59 | - ; | ||
60 | - ?> | ||
61 | - </tbody> | ||
62 | - </table> | ||
63 | - | ||
64 | - <?php echo $this->element('pagination'); ?> | ||
65 | - | ||
66 | -</div> | ||
67 | - | ||
68 | -<!-- | ||
69 | -<div class="actions"> | ||
70 | - <php echo $this->element('menu') ?> | ||
71 | - <php | ||
72 | - | ||
73 | -echo $this->element('menu_index', [ | ||
74 | - 'pluralHumanName' => $configuration->nom_groupe_metier . 's', | ||
75 | - 'singularHumanName' => $configuration->nom_groupe_metier | ||
76 | -])?> | ||
77 | - </div> | ||
78 | ---> | ||
79 | \ No newline at end of file | 1 | \ No newline at end of file |
2 | +<?php | ||
3 | +$this->extend('/Common/index'); | ||
80 | \ No newline at end of file | 4 | \ No newline at end of file |
src/Template/GroupesThematiques/index.ctp
1 | - | ||
2 | -<div class="groupesThematiques index"> | ||
3 | - | ||
4 | - <?php | ||
5 | - echo '<h2><i class="icon-list"></i> Liste des '.$configuration->nom_groupe_thematique.'s</h2>'; | ||
6 | - | ||
7 | - // Si une url est donnée vers la page des Groupes thématiques sur le site web du labo, on l'affiche | ||
8 | - if ($lab_website_url) { | ||
9 | - ?> | ||
10 | - => <a href=<?=$lab_website_url?>> | ||
11 | - Groupes thématiques sur le site web du laboratoire | ||
12 | - </a> | ||
13 | - <br/><br/> | ||
14 | - <?php | ||
15 | - } | ||
16 | - | ||
17 | - echo $this->element('button_add'); | ||
18 | - ?> | ||
19 | - | ||
20 | - <table style="border-collapse: separate; border-spacing: 0; width: 270px;"> | ||
21 | - <thead> | ||
22 | - <tr> | ||
23 | - <th class="actions"><?= __('') ?></th> | ||
24 | - <th><?= $this->Paginator->sort('nom', 'Nom') ?></th> | ||
25 | - <th><?= $this->Paginator->sort('description', 'Description') ?></th> | ||
26 | - | ||
27 | - </tr> | ||
28 | - </thead> | ||
29 | - <tbody> | ||
30 | - <?php | ||
31 | - | ||
32 | -foreach ($groupesThematiques as $groupesThematique) : | ||
33 | - if ($groupesThematique->nom != 'N/A') { | ||
34 | - ?> | ||
35 | - <tr> | ||
36 | - <td class="actions" style="padding: 6px 0; text-align: left;"> | ||
37 | - <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> | ||
38 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesThematique->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> | ||
39 | - <?php } ?> | ||
40 | - | ||
41 | - <?php if (in_array($role, ['Super Administrateur'])) { ?> | ||
42 | - <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $groupesThematique->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $groupesThematique->id)]) ?> | ||
43 | - <?php } ?> | ||
44 | - </td> | ||
45 | - | ||
46 | - <td class="smallText"><?= $this->Html->link($groupesThematique->nom, ['action' => 'view', $groupesThematique->id]) ?></td> | ||
47 | - <td class="smallText"><?= h($groupesThematique->description) ?></td> | ||
48 | - </tr> | ||
49 | - <?php | ||
50 | - } | ||
51 | - endforeach | ||
52 | - ; | ||
53 | - ?> | ||
54 | - </tbody> | ||
55 | - </table> | ||
56 | - | ||
57 | - <?php echo $this->element('pagination'); ?> | ||
58 | - | ||
59 | -</div> | ||
60 | - | ||
61 | -<!-- | ||
62 | -<div class="actions"> | ||
63 | - <php echo $this->element('menu') ?> | ||
64 | - <php | ||
65 | - | ||
66 | -echo $this->element('menu_index', [ | ||
67 | - 'pluralHumanName' => $configuration->nom_groupe_thematique . 's', | ||
68 | - 'singularHumanName' => $configuration->nom_groupe_thematique | ||
69 | -])?> | ||
70 | - </div> | ||
71 | ---> | ||
72 | \ No newline at end of file | 1 | \ No newline at end of file |
2 | +<?php | ||
3 | +$this->extend('/Common/index'); | ||
73 | \ No newline at end of file | 4 | \ No newline at end of file |
src/Template/Projets/index.ctp
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | // Variables définies par le controleur | 7 | // Variables définies par le controleur |
8 | $projets = $projets; | 8 | $projets = $projets; |
9 | //debug($projets); | 9 | //debug($projets); |
10 | +$lab_website_urls = $lab_website_urls; | ||
10 | ?> | 11 | ?> |
11 | 12 | ||
12 | <b><u><?= $this->Html->link(__('Nouveau Projet'), ['action' => 'add']) ?></li></u></b> | 13 | <b><u><?= $this->Html->link(__('Nouveau Projet'), ['action' => 'add']) ?></li></u></b> |
@@ -30,6 +31,16 @@ $projets = $projets; | @@ -30,6 +31,16 @@ $projets = $projets; | ||
30 | <div class="projets index large-9 medium-8 columns content"> | 31 | <div class="projets index large-9 medium-8 columns content"> |
31 | <h3><?= __('Projets') ?></h3> | 32 | <h3><?= __('Projets') ?></h3> |
32 | 33 | ||
34 | + <?php | ||
35 | + //$lab_website_urls = []; | ||
36 | + // Si une url (ou liste d'urls) est donnée vers la/les page(s) des Projets sur le site web du labo, on l'affiche | ||
37 | + if ($lab_website_urls) { | ||
38 | + foreach ($lab_website_urls as $type_projet=>$lab_website_url) | ||
39 | + echo "=> <a href=$lab_website_url>$type_projet sur le site web du laboratoire</a><br/>"; | ||
40 | + echo "<br/>"; | ||
41 | + } | ||
42 | + ?> | ||
43 | + | ||
33 | <!-- | 44 | <!-- |
34 | <table cellpadding="0" cellspacing="0"> | 45 | <table cellpadding="0" cellspacing="0"> |
35 | --> | 46 | --> |