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,10 +53,12 @@ Logiciel testé et validé sur les configurations suivantes : | ||
53 | 53 | ||
54 | VERSION ACTUELLE | 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 | Author: EP | 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 | IMPORTANT : | 63 | IMPORTANT : |
62 | - Pour connaitre la version actuelle, taper "./VERSION" | 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,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 | 16/03/2020 Version 3.7.9.5 (EP) | 100 | 16/03/2020 Version 3.7.9.5 (EP) |
95 | Premiers bugfixes du nouveau site responsive (5) | 101 | Premiers bugfixes du nouveau site responsive (5) |
96 | - Nombreux bugfixes de la gestion des documents attachés (presque fini) | 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,7 +424,7 @@ class DocumentsController extends AppController | ||
424 | $this->set('idType', $idType); | 424 | $this->set('idType', $idType); |
425 | } // ADD | 425 | } // ADD |
426 | 426 | ||
427 | - $this->set(compact('document', 'typesD')); | 427 | + $this->set(compact('IS_ADD', 'document', 'typesD')); |
428 | /* inutile | 428 | /* inutile |
429 | $this->set('_serialize', [ | 429 | $this->set('_serialize', [ |
430 | 'document' | 430 | 'document' |
src/Template/Documents/add.ctp
1 | <?php | 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 | \ No newline at end of file | 3 | \ No newline at end of file |
4 | +$this->extend('/Documents/add_edit'); |
src/Template/Documents/edit.ctp
1 | <?php | 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'); |