Commit 32ea618670079f4f8da7f3930b6d69f4f97a96c7
1 parent
ee1665e9
Exists in
master
and in
1 other branch
Amélioration de la gestion des docs attachés grâce (3)
- Enorme simplification grâce à la refactorisation des vues add et edit en une seule add_edit (car elles sont très semblables) - TODO : faire la meme chose pour toutes les vues add et edit des différents objets (materiel, suivi, emprunt...) car ça facilitera grandement la maintenance future !!!
Showing
4 changed files
with
12 additions
and
293 deletions
Show diff stats
README.md
... | ... | @@ -53,10 +53,12 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | -Date: 20/03/2020 | |
57 | -Version: 3.7.9.6 | |
56 | +Date: 23/03/2020 | |
57 | +Version: 3.7.9.7 | |
58 | 58 | Author: EP |
59 | -Commentaire: Amélioration et nombreux bugfixes de la gestion des docs attachés (2) | |
59 | +Commentaire: Amélioration de la gestion des docs attachés grâce (3) | |
60 | + - Enorme simplification grâce à la refactorisation des vues add et edit en une seule add_edit car elles sont très semblables | |
61 | + - TODO : faire la meme chose pour toutes les vues add et edit des différents objets (materiel, suivi, emprunt...) | |
60 | 62 | |
61 | 63 | IMPORTANT : |
62 | 64 | - Pour connaitre la version actuelle, taper "./VERSION" |
... | ... | @@ -91,6 +93,10 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https |
91 | 93 | |
92 | 94 | ----------------------------------------------------------------------------------------------------------- |
93 | 95 | |
96 | + | |
97 | +20/03/2020 Version 3.7.9.6 (EP) | |
98 | + Amélioration et nombreux bugfixes de la gestion des docs attachés (2) | |
99 | + | |
94 | 100 | 16/03/2020 Version 3.7.9.5 (EP) |
95 | 101 | Premiers bugfixes du nouveau site responsive (5) |
96 | 102 | - Nombreux bugfixes de la gestion des documents attachés (presque fini) | ... | ... |
src/Controller/DocumentsController.php
... | ... | @@ -424,7 +424,7 @@ class DocumentsController extends AppController |
424 | 424 | $this->set('idType', $idType); |
425 | 425 | } // ADD |
426 | 426 | |
427 | - $this->set(compact('document', 'typesD')); | |
427 | + $this->set(compact('IS_ADD', 'document', 'typesD')); | |
428 | 428 | /* inutile |
429 | 429 | $this->set('_serialize', [ |
430 | 430 | 'document' | ... | ... |
src/Template/Documents/add.ctp
1 | 1 | <?php |
2 | -// Variables passées à cette vue par le controleur | |
3 | -// - $document vide | |
4 | -$document = $document; | |
5 | -// - Liste des types de doc | |
6 | -$typesD = $typesD; | |
7 | -$configuration = $configuration; | |
8 | -$parent = $parent; | |
9 | -$doc_type = $doc_type; | |
10 | -$parent_controller = $parent_controller; | |
11 | -$parent_name = $parent_name; | |
12 | 2 | |
13 | -// optionnel | |
14 | -$doc = 'un document'; | |
15 | -if (isset($photo)) { | |
16 | - $photo = $photo; | |
17 | - $doc = 'une photo'; | |
18 | - $idType = $idType; | |
19 | -} | |
20 | -/* | |
21 | -if (isset($materiel)) { | |
22 | - $materiel = $materiel; | |
23 | - $doc_type = 'matériel'; | |
24 | - $parent = $materiel; | |
25 | - $parent_controller = 'Materiels'; | |
26 | -} | |
27 | -if (isset($suivi)) { | |
28 | - $suivi = $suivi; | |
29 | - $doc_type = 'suivi'; | |
30 | - $parent = $suivi; | |
31 | - $parent_controller = 'Suivis'; | |
32 | -} | |
33 | -*/ | |
34 | -//$parent_id = $this->request->getAttribute('params')['pass'][0]; | |
35 | - | |
36 | -/* | |
37 | -debug($materiel); | |
38 | -debug($parent_id); | |
39 | -debug($document); | |
40 | -debug($typesD); | |
41 | -*/ | |
42 | -?> | |
43 | - | |
44 | -<div class="documents form"> | |
45 | - | |
46 | - <?php | |
47 | - | |
48 | - // Titre | |
49 | - echo "<h2><i class='icon-plus'></i> Lier $doc</h2>"; | |
50 | - | |
51 | - // Ce doc est rattaché à ... | |
52 | - //$link = isset($materiel) ? $materiel->designation : 'Suivi '.$suivi->id; | |
53 | - $displayElement(__("Ce document est lié au $doc_type"), $this->Html->link($parent_name, [ | |
54 | - 'controller' => $parent_controller, | |
55 | - 'action' => 'view', | |
56 | - $parent->id | |
57 | - ])); | |
58 | - | |
59 | - echo $this->Form->create($document, ['type' => 'file']); | |
60 | - ?> | |
61 | - | |
62 | - <fieldset> | |
63 | - | |
64 | - <?php | |
65 | - | |
66 | - // - N° materiel (ou suivi) | |
67 | - /* | |
68 | - $control_name = 'materiel_id'; | |
69 | - $label = 'N° materiel labo'; | |
70 | - if (isset($suivi)) { | |
71 | - $control_name = 'suivi_id'; | |
72 | - $label = 'N° suivi'; | |
73 | - } | |
74 | - echo $this->Form->control($control_name, [ | |
75 | - 'label' => $label, | |
76 | - 'options' => $parent, | |
77 | - 'default' => $parent_id, | |
78 | - 'readonly' => true | |
79 | - ]); | |
80 | - */ | |
81 | - //$control_name = isset($materiel) ? 'materiel_id' : 'suivi_id'; | |
82 | - $control_name = $parent_controller=='materiels' ? 'materiel_id' : 'suivi_id'; | |
83 | - //$label = 'N° materiel labo'; | |
84 | - echo $this->Form->hidden($control_name, [ | |
85 | - //'default' => $parent_id, | |
86 | - 'default' => $parent->id, | |
87 | - ]); | |
88 | - | |
89 | - // - Nom | |
90 | - echo $this->Form->control('nom'); | |
91 | - | |
92 | - // - Type (hidden si photo) | |
93 | - echo "<i>(Si vous choisissez le type 'Photo', ce document sera affiché en tête de la fiche du $doc_type associé)</i>"; | |
94 | - $f = 'control'; | |
95 | - $default = 1; | |
96 | - if (isset($photo)) { | |
97 | - $f = 'hidden'; | |
98 | - $default = $idType; | |
99 | - } | |
100 | - echo $this->Form->$f('type_document_id', [ | |
101 | - 'label' => 'Type', | |
102 | - 'options' => $typesD, | |
103 | - 'default' => $default | |
104 | - ]); | |
105 | - | |
106 | - // - Description | |
107 | - echo $this->Form->control('description'); | |
108 | - | |
109 | - // - File upload | |
110 | - echo $this->Form->control('chemin_file', [ | |
111 | - 'label' => 'Fichier (' . substr($configuration->taille_max_doc / (1024 * 1024), 0, 4) . ' Mo max)', | |
112 | - 'type' => 'file' | |
113 | - ]); | |
114 | - | |
115 | - // - photo (hidden) | |
116 | - echo $this->Form->hidden('photo', [ | |
117 | - 'default' => isset($photo) ? 1 : 0 | |
118 | - ]); | |
119 | - | |
120 | - ?> | |
121 | - | |
122 | - </fieldset> | |
123 | - | |
124 | - <!-- BOUTONS submit & cancel --> | |
125 | - <!-- <= $this->Form->submit(__('Valider')) ?> --> | |
126 | - <?php $echoSubmitButtons($this, | |
127 | - 'view', | |
128 | - //$parent_id, | |
129 | - $parent->id, | |
130 | - $parent_controller | |
131 | - ); | |
132 | - | |
133 | - echo $this->Form->end(); | |
134 | - ?> | |
135 | - | |
136 | -</div> | |
137 | - | |
138 | -<!-- | |
139 | -<div class="actions"> | |
140 | - <php | |
141 | -echo $this->element('menu'); | |
142 | -echo $this->element('menu_form', [ | |
143 | - 'pluralHumanName' => 'Documents' | |
144 | -]); | |
145 | -?> | |
146 | -</div> | |
147 | ---> | |
148 | 3 | \ No newline at end of file |
4 | +$this->extend('/Documents/add_edit'); | ... | ... |
src/Template/Documents/edit.ctp
1 | 1 | <?php |
2 | -// Variables passées à cette vue par le controleur | |
3 | -$document = $document; | |
4 | -// - Liste des types de doc | |
5 | -$typesD = $typesD; | |
6 | -$configuration = $configuration; | |
7 | -$parent = $parent; | |
8 | -$doc_type = $doc_type; | |
9 | -$parent_controller = $parent_controller; | |
10 | -$parent_name = $parent_name; | |
11 | 2 | |
12 | -// Optionnel | |
13 | -$doc = 'un document'; | |
14 | -if (isset($photo)) { | |
15 | - $photo = $photo; | |
16 | - $doc = 'une photo'; | |
17 | -} | |
18 | -/* | |
19 | -if (isset($materiel)) { | |
20 | - $materiel = $materiel; | |
21 | - $doc_type = 'matériel'; | |
22 | - $parent = $materiel; | |
23 | - $parent_controller = 'Materiels'; | |
24 | - $parent_name = $parent->designation; | |
25 | -} | |
26 | -if (isset($suivi)) { | |
27 | - $suivi = $suivi; | |
28 | - $doc_type = 'suivi'; | |
29 | - $parent = $suivi; | |
30 | - $parent_controller = 'Suivis'; | |
31 | - $parent_name = 'Suivi#'.$parent->id; | |
32 | -} | |
33 | -*/ | |
34 | - | |
35 | -// Nouvelles variables | |
36 | -//$parent_id = $parent->id; | |
37 | - | |
38 | -?> | |
39 | - | |
40 | -<div class="documents form"> | |
41 | - | |
42 | - <?php | |
43 | - | |
44 | - // Titre | |
45 | - echo "<h2><i class='icon-plus'></i> Editer $doc</h2>"; | |
46 | - | |
47 | - //$materiel = $materiel->toArray(); | |
48 | - //debug($materiel); | |
49 | - | |
50 | - $displayElement(__("Ce document est lié au $doc_type"), $this->Html->link($parent_name, [ | |
51 | - 'controller' => $parent_controller, | |
52 | - 'action' => 'view', | |
53 | - $parent->id | |
54 | - ])); | |
55 | - | |
56 | - echo $this->Form->create($document, ['type' => 'file']); | |
57 | - ?> | |
58 | - | |
59 | - <fieldset> | |
60 | - <?php | |
61 | - | |
62 | - //$doc_name = $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc; | |
63 | - | |
64 | - | |
65 | - /* (EP) INUTILE, JUNK | |
66 | - // N° materiel labo OU BIEN N° suivi : | |
67 | - // - N° materiel labo | |
68 | - if (isset($materiel)) { | |
69 | - echo $this->Form->control('materiel_id', [ | |
70 | - 'label' => 'N° materiel labo', | |
71 | - 'options' => $materiel, | |
72 | - 'default' => $this->request->getAttribute('params')['pass'][0], | |
73 | - 'readonly' => true | |
74 | - ]); | |
75 | - } | |
76 | - // - N° suivi | |
77 | - else if (isset($suivi)) { | |
78 | - echo $this->Form->control('suivi_id', [ | |
79 | - 'label' => 'N° suivi', | |
80 | - 'options' => $suivi, | |
81 | - 'default' => $this->request->getAttribute('params')['pass'][0], | |
82 | - 'readonly' => true | |
83 | - ]); | |
84 | - } | |
85 | - */ | |
86 | - | |
87 | - // - Nom | |
88 | - // (Malik) On met le nom du doc en read only vu qu'il apparait dans le nom du fichier sur le serveur | |
89 | - // et une opération pour remodifier ces fichiers peut être complexe | |
90 | - echo $this->Form->control('nom', ['readonly' => true]); | |
91 | - | |
92 | - // - Type (hidden si photo) | |
93 | - echo "<i>(Si vous choisissez le type 'Photo', ce document sera affiché en tête de la fiche du $doc_type associé)</i>"; | |
94 | - //$f = isset($photo) ? 'hidden' : 'control'; | |
95 | - $f = 'control'; | |
96 | - echo $this->Form->$f('type_document_id', [ | |
97 | - 'label' => 'Type', | |
98 | - 'options' => $typesD | |
99 | - ]); | |
100 | - | |
101 | - // - Description | |
102 | - echo $this->Form->control('description'); | |
103 | - | |
104 | - // - chemin_file (hidden) | |
105 | - echo $this->Form->hidden('chemin_file', [ | |
106 | - 'label' => 'Fichier (' . substr($configuration->taille_max_doc / (1024 * 1024), 0, 4) . ' Mo max)', | |
107 | - 'type' => 'file' | |
108 | - ]); | |
109 | - | |
110 | - // - edit (hidden) | |
111 | - echo $this->Form->hidden('edit', [ | |
112 | - 'default' => 1 | |
113 | - ]); | |
114 | - | |
115 | - // - photo = 0 ou 1 (hidden) | |
116 | - echo $this->Form->hidden('photo', [ | |
117 | - 'default' => isset($photo) ? 1 : 0 | |
118 | - ]); | |
119 | - | |
120 | - ?> | |
121 | - </fieldset> | |
122 | - | |
123 | - <!-- BOUTONS submit & cancel --> | |
124 | - <!-- <= $this->Form->submit(__('Valider')) ?> --> | |
125 | - <?php $echoSubmitButtons($this, | |
126 | - 'view', | |
127 | - //$parent_id, | |
128 | - $parent->id, | |
129 | - $parent_controller | |
130 | - ); | |
131 | - | |
132 | - echo $this->Form->end(); | |
133 | - ?> | |
134 | - | |
135 | -</div> | |
136 | - | |
137 | -<!-- | |
138 | -<div class="actions"> | |
139 | - <php | |
140 | -echo $this->element('menu'); | |
141 | -echo $this->element('menu_form', [ | |
142 | - 'pluralHumanName' => 'Documents' | |
143 | -]); | |
144 | -?> | |
145 | -</div> | |
146 | ---> | |
3 | +$this->extend('/Documents/add_edit'); | ... | ... |