Commit 7511858e6faba33f171cc3f69525ea02ebfccaa4
1 parent
e51ef87b
Exists in
master
and in
3 other branches
Vue détaillée Materiel (materiels/view) :
- Bugfix : un utilisateur doit voir le bouton "fiche pdf" - Reformatage/Nettoyage/ajout commentaires : c'était carrément ILLISIBLE
Showing
1 changed file
with
627 additions
and
565 deletions
Show diff stats
src/Template/Materiels/view.ctp
... | ... | @@ -5,382 +5,433 @@ use Cake\ORM\TableRegistry; |
5 | 5 | ?> |
6 | 6 | |
7 | 7 | <div class="materiels view"> |
8 | - <h2> | |
9 | - <?php | |
10 | - if (h($materiel->status) == 'ARCHIVED') | |
11 | - echo '<i class="icon-inbox"></i> '; | |
12 | - $panne = ''; | |
13 | - if (h($materiel->hors_service)) { | |
14 | - $panne = ' (HORS SERVICE)'; | |
15 | - } | |
16 | - ?> | |
17 | 8 | |
9 | + <h2> | |
10 | + <?php | |
11 | + if (h($materiel->status) == 'ARCHIVED') echo '<i class="icon-inbox"></i> '; | |
12 | + $panne = h($materiel->hors_service) ? ' (HORS SERVICE)' : ''; | |
13 | + ?> | |
18 | 14 | <?=h($materiel->designation) . $panne?> |
19 | - <span style="font-size: 70%; color: grey;"> | |
20 | - <?=h($materiel->numero_laboratoire)?> | |
21 | - <?php | |
22 | 15 | |
23 | - if (h($materiel->status) == 'ARCHIVED') | |
24 | - echo ' (Archivé)'; | |
25 | - ?> | |
16 | + <span style="font-size: 70%; color: grey;"> | |
17 | + <?=h($materiel->numero_laboratoire)?> | |
18 | + <?php | |
19 | + if (h($materiel->status) == 'ARCHIVED') echo ' (Archivé)'; | |
20 | + ?> | |
26 | 21 | </span> |
27 | - </h2> | |
28 | - <br> | |
29 | - <div style="text-align: center;"> | |
22 | + </h2> | |
23 | + <br/> | |
24 | + | |
25 | + <div id="materiel_images" style="text-align: center;"> | |
30 | 26 | <?php |
31 | - if (isset($imgMateriel)) { | |
32 | - echo $this->Html->image('photos/' . $imgMateriel, [ | |
33 | - 'alt' => 'Photo matériel', | |
34 | - 'style' => 'max-width: 300px; text-align: center;' | |
35 | - ]); | |
36 | - } | |
37 | - // Url transformé en QrCode | |
38 | - $this->request->session()->write("qrUrl", $this->request->env('SERVER_NAME') . $this->request->env('REQUEST_URI')); | |
39 | - $this->requestAction('/QrCodes/creer/'); | |
40 | - echo $this->Html->image('qrcodes/' . $this->request->session()->read("filename"), [ | |
41 | - 'alt' => 'QrCode : ' . $materiel->numero_laboratoire, | |
42 | - 'style' => 'float: right' | |
43 | - ]); | |
44 | - echo '</div>'; | |
45 | - ?> | |
46 | - <br> | |
47 | - <div class="actions" | |
48 | - style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> | |
27 | + if (isset($imgMateriel)) { | |
28 | + echo $this->Html->image('photos/' . $imgMateriel, [ | |
29 | + 'alt' => 'Photo matériel', | |
30 | + 'style' => 'max-width: 300px; text-align: center;' | |
31 | + ]); | |
32 | + } | |
33 | + // Url transformed in QrCode | |
34 | + $this->request->session()->write("qrUrl", $this->request->env('SERVER_NAME') . $this->request->env('REQUEST_URI')); | |
35 | + $this->requestAction('/QrCodes/creer/'); | |
36 | + echo $this->Html->image('qrcodes/' . $this->request->session()->read("filename"), [ | |
37 | + 'alt' => 'QrCode : ' . $materiel->numero_laboratoire, | |
38 | + 'style' => 'float: right' | |
39 | + ]); | |
40 | + ?> | |
41 | + </div> | |
42 | + <br/> | |
43 | + | |
44 | + <div id="boutons" class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> | |
45 | + | |
49 | 46 | <?php |
50 | - if (in_array($materiel->status, [ | |
51 | - 'CREATED', | |
52 | - 'VALIDATED' | |
53 | - ])) { | |
54 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
55 | - $materiel->nom_createur, | |
56 | - $materiel->nom_responsable | |
57 | - ]))) || (in_array($role, [ | |
58 | - 'Administration', | |
59 | - 'Administration Plus', | |
60 | - 'Super Administrateur' | |
61 | - ])) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
62 | - echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'), [ | |
63 | - 'action' => 'edit', | |
64 | - $materiel->id | |
65 | - ], [ | |
66 | - 'escape' => false, | |
67 | - 'onclick' => 'return true;', | |
68 | - 'style' => 'margin-right: 10px' | |
69 | - ]); | |
70 | - } | |
71 | - } else { | |
72 | - if (in_array($role, [ | |
73 | - 'Administration Plus', | |
74 | - 'Super Administrateur' | |
75 | - ])) { | |
76 | - echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'), [ | |
77 | - 'action' => 'edit', | |
78 | - $materiel->id | |
79 | - ], [ | |
80 | - 'escape' => false, | |
81 | - 'onclick' => 'return true;', | |
82 | - 'style' => 'margin-right: 10px' | |
83 | - ]); | |
84 | - } | |
85 | - } | |
86 | - if ($materiel->status == 'VALIDATED') { | |
87 | - // BOUTON NOUVEAU SUIVI | |
88 | - echo $this->Html->link('<i class="icon-plus"></i> Nouv. Suivi', [ | |
89 | - 'controller' => 'suivis', | |
90 | - 'action' => 'add', | |
91 | - $materiel->id | |
92 | - ], [ | |
93 | - 'title' => 'Faire un nouveau suivi de ce matériel', | |
94 | - 'style' => 'margin-right: 10px', | |
95 | - 'escape' => false | |
96 | - ]); // End link | |
97 | - // BOUTON NOUVEL EMPRUNT | |
98 | - echo $this->Html->link('<i class="icon-plus"></i> Nouv. Emprunt', [ | |
99 | - 'controller' => 'emprunts', | |
100 | - 'action' => 'add', | |
101 | - $materiel->id | |
102 | - ], [ | |
103 | - 'title' => 'Faire un nouvel emprunt de ce matériel', | |
104 | - 'style' => 'margin-right: 10px', | |
105 | - 'escape' => false | |
106 | - ]); // End link | |
107 | - } | |
108 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
109 | - $materiel->nom_createur, | |
110 | - $materiel->nom_responsable | |
111 | - ]))) || (in_array($role, [ | |
112 | - 'Administration', | |
113 | - 'Administration Plus', | |
114 | - 'Super Administrateur' | |
115 | - ])) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
116 | - echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [ | |
117 | - 'controller' => 'documents', | |
118 | - 'action' => 'add', | |
119 | - $materiel->id, | |
120 | - 'mat' | |
121 | - ], [ | |
122 | - 'title' => 'Attacher un Doc. à ce matériel', | |
123 | - 'style' => 'margin-right: 10px', | |
124 | - 'escape' => false | |
125 | - ]); | |
126 | - if ($materiel->photo_id != null) { | |
127 | - echo $this->Html->link('<i class="icon-file"></i> Remplacer la photo.', [ | |
128 | - 'controller' => 'documents', | |
129 | - 'action' => 'add', | |
130 | - $materiel->id, | |
131 | - 'mat', | |
132 | - 'photo' | |
133 | - ], [ | |
134 | - 'title' => 'Remplacer la photo de ce matériel', | |
135 | - 'style' => 'margin-right: 10px', | |
136 | - 'escape' => false | |
137 | - ]); | |
138 | - } else { | |
139 | - echo $this->Html->link('<i class="icon-file"></i> Lier une photo.', [ | |
140 | - 'controller' => 'documents', | |
141 | - 'action' => 'add', | |
142 | - $materiel->id, | |
143 | - 'mat', | |
144 | - 'photo' | |
145 | - ], [ | |
146 | - 'title' => 'Attacher une photo à ce matériel', | |
147 | - 'style' => 'margin-right: 10px', | |
148 | - 'escape' => false | |
149 | - ]); | |
150 | - } | |
151 | - } | |
152 | - if (in_array($role, [ | |
153 | - 'Administration', | |
154 | - 'Administration Plus', | |
155 | - 'Super Administrateur' | |
156 | - ])) { | |
157 | - if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) { | |
158 | - echo $this->Html->link('<i class="icon-file"></i> Doc. admission', [ | |
159 | - 'controller' => 'documents', | |
160 | - 'action' => 'admission', | |
161 | - $materiel->numero_laboratoire | |
162 | - ], [ | |
163 | - 'title' => 'Voir le document d\'admission', | |
164 | - 'style' => 'margin-right: 10px', | |
165 | - 'escape' => false | |
166 | - ]); | |
167 | - } // Doc sortie (admin only) | |
168 | -else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) { | |
169 | - echo $this->Html->link('<i class="icon-file"></i> Doc. sortie', [ | |
170 | - 'controller' => 'documents', | |
171 | - 'action' => 'sortie', | |
172 | - $materiel->numero_laboratoire | |
173 | - ], [ | |
174 | - 'title' => 'Voir le document de sortie', | |
175 | - 'style' => 'margin-right: 10px', | |
176 | - 'escape' => false | |
177 | - ]); | |
178 | - } | |
179 | - } | |
180 | - if (in_array($role, [ | |
181 | - 'Administration', | |
182 | - 'Administration Plus', | |
183 | - 'Super Administrateur' | |
184 | - ]) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
185 | - // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver | |
186 | - switch ($materiel->status) { | |
187 | - case "CREATED" : | |
188 | - echo $this->Html->link('<i class="icon-ok-sign"></i> Valider', [ | |
189 | - 'action' => 'statusValidated', | |
190 | - $materiel->id, | |
191 | - 'view' | |
192 | - ], [ | |
193 | - 'title' => 'Valider le matériel', | |
194 | - 'style' => 'margin-right: 10px', | |
195 | - 'escape' => false | |
196 | - ]); | |
197 | - break; | |
198 | - case "VALIDATED" : | |
199 | - echo $this->Html->link('<i class="icon-ok-sign"></i> Demander sortie', [ | |
200 | - 'action' => 'statusToBeArchived', | |
201 | - $materiel->id, | |
202 | - 'view' | |
203 | - ], [ | |
204 | - 'title' => 'Demander la sortie de l\'inventaire', | |
205 | - 'style' => 'margin-right: 10px', | |
206 | - 'escape' => false | |
207 | - ]); | |
208 | - break; | |
209 | - case "TOBEARCHIVED" : | |
210 | - if ($role != 'Responsable' && $role != 'Super Administrateur') { | |
211 | - echo $this->Html->link('<i class="icon-ok-sign"></i> Sortie inventaire', [ | |
212 | - 'action' => 'statusArchived', | |
213 | - $materiel->id, | |
214 | - 'view' | |
215 | - ], [ | |
216 | - 'title' => 'Sortir définitivement de l\'inventaire', | |
217 | - 'style' => 'margin-right: 10px', | |
218 | - 'escape' => false, | |
219 | - 'confirm' => 'Êtes-vous sur de bien vouloir archiver ' . $materiel->designation . ' ?' | |
220 | - ]); | |
221 | - } | |
222 | - break; | |
223 | - } // switch | |
224 | - } | |
225 | - echo $this->Html->link('<i class="icon-pencil"></i> Copier ce matériel', [ | |
226 | - 'controller' => 'materiels', | |
227 | - 'action' => 'add', | |
228 | - $materiel->id | |
47 | + // CREATED or VALIDATED | |
48 | + if ( in_array($materiel->status, ['CREATED','VALIDATED']) ) { | |
49 | + if ( | |
50 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
51 | + || | |
52 | + ( | |
53 | + $role == 'Utilisateur' | |
54 | + && in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]) | |
55 | + ) | |
56 | + || | |
57 | + ( | |
58 | + $role == 'Responsable' | |
59 | + && ( | |
60 | + ( | |
61 | + isset($userConnected->groupes_metier_id) | |
62 | + && $userConnected->groupes_metier_id != $idGmNa | |
63 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
64 | + ) | |
65 | + || | |
66 | + ( | |
67 | + isset($userConnected->groupe_thematique_id) | |
68 | + && $userConnected->groupe_thematique_id != $idGtNa | |
69 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
70 | + ) | |
71 | + ) | |
72 | + ) | |
73 | + ) | |
74 | + echo $this->Html->link( | |
75 | + __('<i class="icon-pencil"></i> Editer ce matériel'), | |
76 | + [ 'action' => 'edit', $materiel->id ], | |
77 | + [ 'escape' => false, 'onclick' => 'return true;', 'style' => 'margin-right: 10px' ] | |
78 | + ); | |
79 | + } | |
80 | + | |
81 | + // TOBEARCHIVED+ | |
82 | + else { | |
83 | + if (in_array($role, ['Administration Plus','Super Administrateur'])) { | |
84 | + echo $this->Html->link( | |
85 | + __('<i class="icon-pencil"></i> Editer ce matériel'), | |
86 | + ['action' => 'edit', $materiel->id], | |
87 | + ['escape' => false, 'onclick' => 'return true;', 'style' => 'margin-right: 10px'] | |
88 | + ); | |
89 | + } | |
90 | + } | |
91 | + | |
92 | + // VALIDATED | |
93 | + if ($materiel->status == 'VALIDATED') { | |
94 | + | |
95 | + // BOUTON NOUVEAU SUIVI | |
96 | + echo $this->Html->link( | |
97 | + '<i class="icon-plus"></i> Nouv. Suivi', | |
98 | + ['controller' => 'suivis','action' => 'add',$materiel->id], | |
99 | + ['title' => 'Faire un nouveau suivi de ce matériel','style' => 'margin-right: 10px','escape' => false] | |
100 | + ); // End link | |
101 | + | |
102 | + // BOUTON NOUVEL EMPRUNT | |
103 | + echo $this->Html->link('<i class="icon-plus"></i> Nouv. Emprunt', [ | |
104 | + 'controller' => 'emprunts', | |
105 | + 'action' => 'add', | |
106 | + $materiel->id | |
107 | + ], [ | |
108 | + 'title' => 'Faire un nouvel emprunt de ce matériel', | |
109 | + 'style' => 'margin-right: 10px', | |
110 | + 'escape' => false | |
111 | + ]); // End link | |
112 | + } | |
113 | + | |
114 | + // BOUTON "Lier un Doc" | |
115 | + if ( | |
116 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
117 | + || | |
118 | + ( | |
119 | + $role == 'Utilisateur' | |
120 | + && in_array($username, [$materiel->nom_createur,$materiel->nom_responsable]) | |
121 | + ) | |
122 | + || ( | |
123 | + $role == 'Responsable' | |
124 | + && ( | |
125 | + ( | |
126 | + isset($userConnected->groupes_metier_id) | |
127 | + && $userConnected->groupes_metier_id != $idGmNa | |
128 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
129 | + ) | |
130 | + || | |
131 | + ( | |
132 | + isset($userConnected->groupe_thematique_id) | |
133 | + && $userConnected->groupe_thematique_id != $idGtNa | |
134 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
135 | + ) | |
136 | + ) | |
137 | + ) | |
138 | + ) { | |
139 | + echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [ | |
140 | + 'controller' => 'documents', | |
141 | + 'action' => 'add', | |
142 | + $materiel->id, | |
143 | + 'mat' | |
144 | + ], [ | |
145 | + 'title' => 'Attacher un Doc. à ce matériel', | |
146 | + 'style' => 'margin-right: 10px', | |
147 | + 'escape' => false | |
148 | + ]); | |
149 | + | |
150 | + // BOUTON "photo" | |
151 | + if ($materiel->photo_id != null) { | |
152 | + echo $this->Html->link('<i class="icon-file"></i> Remplacer la photo.', [ | |
153 | + 'controller' => 'documents', | |
154 | + 'action' => 'add', | |
155 | + $materiel->id, | |
156 | + 'mat', | |
157 | + 'photo' | |
158 | + ], [ | |
159 | + 'title' => 'Remplacer la photo de ce matériel', | |
160 | + 'style' => 'margin-right: 10px', | |
161 | + 'escape' => false | |
162 | + ]); | |
163 | + } else { | |
164 | + echo $this->Html->link('<i class="icon-file"></i> Lier une photo.', [ | |
165 | + 'controller' => 'documents', | |
166 | + 'action' => 'add', | |
167 | + $materiel->id, | |
168 | + 'mat', | |
169 | + 'photo' | |
170 | + ], [ | |
171 | + 'title' => 'Attacher une photo à ce matériel', | |
172 | + 'style' => 'margin-right: 10px', | |
173 | + 'escape' => false | |
174 | + ]); | |
175 | + } | |
176 | + | |
177 | + } // BOUTON Lier un doc | |
178 | + | |
179 | + | |
180 | + // Doc admission et sortie (admin+) | |
181 | + if (in_array($role, ['Administration','Administration Plus','Super Administrateur'])) { | |
182 | + | |
183 | + // Doc admission (admin only) | |
184 | + if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) { | |
185 | + echo $this->Html->link('<i class="icon-file"></i> Doc. admission', [ | |
186 | + 'controller' => 'documents', | |
187 | + 'action' => 'admission', | |
188 | + $materiel->numero_laboratoire | |
189 | + ], [ | |
190 | + 'title' => 'Voir le document d\'admission', | |
191 | + 'style' => 'margin-right: 10px', | |
192 | + 'escape' => false | |
193 | + ]); | |
194 | + } | |
195 | + | |
196 | + // Doc sortie (admin only) | |
197 | + else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) { | |
198 | + echo $this->Html->link('<i class="icon-file"></i> Doc. sortie', [ | |
199 | + 'controller' => 'documents', | |
200 | + 'action' => 'sortie', | |
201 | + $materiel->numero_laboratoire | |
202 | + ], [ | |
203 | + 'title' => 'Voir le document de sortie', | |
204 | + 'style' => 'margin-right: 10px', | |
205 | + 'escape' => false | |
206 | + ]); | |
207 | + } | |
208 | + } | |
209 | + | |
210 | + | |
211 | + // BOUTON changement statut | |
212 | + if ( | |
213 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
214 | + || ( | |
215 | + $role == 'Responsable' | |
216 | + && ( | |
217 | + ( | |
218 | + isset($userConnected->groupes_metier_id) | |
219 | + && $userConnected->groupes_metier_id != $idGmNa | |
220 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
221 | + ) | |
222 | + || | |
223 | + ( | |
224 | + isset($userConnected->groupe_thematique_id) | |
225 | + && $userConnected->groupe_thematique_id != $idGtNa | |
226 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
227 | + ) | |
228 | + ) | |
229 | + ) | |
230 | + ) { | |
231 | + // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver | |
232 | + switch ($materiel->status) { | |
233 | + case "CREATED" : | |
234 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Valider', [ | |
235 | + 'action' => 'statusValidated', | |
236 | + $materiel->id, | |
237 | + 'view' | |
238 | + ], [ | |
239 | + 'title' => 'Valider le matériel', | |
240 | + 'style' => 'margin-right: 10px', | |
241 | + 'escape' => false | |
242 | + ]); | |
243 | + break; | |
244 | + case "VALIDATED" : | |
245 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Demander sortie', [ | |
246 | + 'action' => 'statusToBeArchived', | |
247 | + $materiel->id, | |
248 | + 'view' | |
229 | 249 | ], [ |
230 | - 'title' => 'Copier ce matériel', | |
231 | - 'style' => 'margin-right: 10px; margin-top: 10px; display: inline-block', | |
250 | + 'title' => 'Demander la sortie de l\'inventaire', | |
251 | + 'style' => 'margin-right: 10px', | |
232 | 252 | 'escape' => false |
233 | 253 | ]); |
234 | - // BOUTON ETIQUETTE POSEE | |
235 | - if ($configuration->hasPrinter && in_array($role, [ | |
236 | - 'Administration', | |
237 | - 'Administration Plus', | |
238 | - 'Super Administrateur' | |
239 | - ])) { | |
240 | - echo '<div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; | |
241 | - $action = 'Impr. étiquette'; | |
242 | - echo $this->Html->link('<i class="icon-print"></i> ' . $action, [ | |
243 | - 'action' => 'printLabelRuban', | |
244 | - h($materiel->id), | |
254 | + break; | |
255 | + case "TOBEARCHIVED" : | |
256 | + if ($role != 'Responsable' && $role != 'Super Administrateur') { | |
257 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Sortie inventaire', [ | |
258 | + 'action' => 'statusArchived', | |
259 | + $materiel->id, | |
245 | 260 | 'view' |
246 | 261 | ], [ |
247 | - 'title' => 'Imprimer sur un ruban 12mm', | |
262 | + 'title' => 'Sortir définitivement de l\'inventaire', | |
248 | 263 | 'style' => 'margin-right: 10px', |
249 | 264 | 'escape' => false, |
250 | - 'onclick' => 'return true;' | |
251 | - ]); // End link | |
252 | - echo $this->Html->link('<i class="icon-file"></i> ' . (h($materiel->etiquette) ? "Etiquette NON posée sur le matériel" : "Etiquette posée sur le matériel"), [ | |
253 | - 'controller' => 'materiels', | |
254 | - 'action' => h($materiel->etiquette) ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', | |
255 | - h($materiel->id), | |
256 | - 'view' | |
257 | - ], [ | |
258 | - 'title' => h($materiel->etiquette) ? "En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été posée sur le matériel" : "En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été posée sur le matériel", | |
259 | - 'style' => 'margin-left: 0px; margin-right: 10px', | |
260 | - 'escape' => false | |
261 | - ]); // End link | |
262 | - echo '</div>'; | |
263 | - echo $this->Html->link('<i class="icon-file"></i> Fiche PDF du matériel', [ | |
264 | - 'controller' => 'documents', | |
265 | - 'action' => 'ficheMateriel', | |
266 | - $materiel->numero_laboratoire | |
267 | - ], [ | |
268 | - 'title' => 'Voir la fiche du materiel', | |
269 | - 'style' => 'margin-right: 10px; background: green; color: white', | |
270 | - 'escape' => false | |
265 | + 'confirm' => 'Êtes-vous sur de bien vouloir archiver ' . $materiel->designation . ' ?' | |
271 | 266 | ]); |
272 | 267 | } |
273 | - ?> | |
274 | - </div> | |
275 | - <h3 id="t_informations" style="cursor: pointer;"> | |
276 | - <i class="icon-chevron-down" style="font-size: 14px;" | |
277 | - id="i_informations"></i> <span | |
278 | - style="text-decoration: underline;">Informations</span> | |
279 | - </h3> | |
280 | - <div id="informations" style="margin-bottom: 20px;"> | |
281 | - <table> | |
282 | - <tr> | |
283 | - <th style="width: 250px;"></th> | |
284 | - <th></th> | |
285 | - </tr> | |
268 | + break; | |
269 | + } // switch | |
270 | + } // BOUTON changement statut | |
286 | 271 | |
272 | + // BOUTON Copier | |
273 | + echo $this->Html->link('<i class="icon-pencil"></i> Copier ce matériel', [ | |
274 | + 'controller' => 'materiels', | |
275 | + 'action' => 'add', | |
276 | + $materiel->id | |
277 | + ], [ | |
278 | + 'title' => 'Copier ce matériel', | |
279 | + 'style' => 'margin-right: 10px; margin-top: 10px; display: inline-block', | |
280 | + 'escape' => false | |
281 | + ]); | |
282 | + | |
283 | + // BOUTON ETIQUETTE (si imprimante disponible) | |
284 | + if ($configuration->hasPrinter && in_array($role, [ | |
285 | + 'Administration', | |
286 | + 'Administration Plus', | |
287 | + 'Super Administrateur' | |
288 | + ])) { | |
289 | + echo '<div id="etiquette" class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; | |
290 | + // - Bouton "Imprimer sur un ruban" | |
291 | + $action = 'Impr. étiquette'; | |
292 | + echo $this->Html->link('<i class="icon-print"></i> ' . $action, [ | |
293 | + 'action' => 'printLabelRuban', | |
294 | + h($materiel->id), | |
295 | + 'view' | |
296 | + ], [ | |
297 | + 'title' => 'Imprimer sur un ruban 12mm', | |
298 | + 'style' => 'margin-right: 10px', | |
299 | + 'escape' => false, | |
300 | + 'onclick' => 'return true;' | |
301 | + ]); | |
302 | + // - Bouton "Etiquette posée" | |
303 | + echo $this->Html->link('<i class="icon-file"></i> ' . (h($materiel->etiquette) ? "Etiquette NON posée sur le matériel" : "Etiquette posée sur le matériel"), [ | |
304 | + 'controller' => 'materiels', | |
305 | + 'action' => h($materiel->etiquette) ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', | |
306 | + h($materiel->id), | |
307 | + 'view' | |
308 | + ], [ | |
309 | + 'title' => h($materiel->etiquette) ? "En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été posée sur le matériel" : "En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été posée sur le matériel", | |
310 | + 'style' => 'margin-left: 0px; margin-right: 10px', | |
311 | + 'escape' => false | |
312 | + ]); | |
313 | + echo '</div>'; | |
314 | + } // BOUTON ETIQUETTE | |
287 | 315 | |
288 | - <?php | |
289 | - // Pour changer la couleur de la date de garantie si elle est passée - Ajout par Thibault Ajas le 02/05/2017 | |
290 | - $time = Time::now(); // On récupère la date et l'heure actuelles | |
291 | - $today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie | |
292 | - $today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 en un format qui pourra etre comparé : 20001231 | |
293 | - if ($materiel->date_fin_garantie !== NULL) { | |
294 | - $timeFin = new time($materiel->date_fin_garantie); | |
295 | - $dateFin = new date("$timeFin->year-$timeFin->month-$timeFin->day"); | |
296 | - $dateFin = $dateFin->format('Ydm'); | |
297 | - } | |
298 | - if ($materiel->date_fin_garantie !== NULL) | |
299 | - $style = ($today >= $dateFin) ? 'style="color: #FF0000"' : ''; | |
300 | - else | |
301 | - $style = ''; | |
302 | - ?> | |
316 | + // BOUTON "Voir fiche matériel" | |
317 | + echo '<div id="fiche pdf" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; | |
318 | + echo $this->Html->link('<i class="icon-file"></i> Fiche PDF du matériel', [ | |
319 | + 'controller' => 'documents', | |
320 | + 'action' => 'ficheMateriel', | |
321 | + $materiel->numero_laboratoire | |
322 | + ], [ | |
323 | + 'title' => 'Voir la fiche du materiel', | |
324 | + 'style' => 'margin-right: 10px; background: green; color: white', | |
325 | + 'escape' => false | |
326 | + ]); | |
327 | + echo '</div>'; | |
303 | 328 | |
329 | + // FIN DIV BOUTONS | |
330 | + ?> | |
331 | + </div> | |
304 | 332 | |
305 | - <?php | |
306 | - $type = ""; | |
307 | - if (h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1) { | |
308 | - $type = 'Administratif et technique'; | |
309 | - } else if (h($materiel->materiel_administratif) == 1) { | |
310 | - $type = 'Administratif'; | |
311 | - } else if (h($materiel->materiel_technique) == 1) { | |
312 | - $type = 'Technique'; | |
313 | - } | |
314 | - echo '<tr><td><strong>' . __('Description') . ' </strong></td><td>' . nl2br($materiel->description) . '</td></tr>'; | |
315 | - // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php | |
316 | - $displayElement(__('Materiel inventorié'), $type); | |
317 | - $displayElement(__('Organisme'), $materiel->has('organisme') ? h($materiel->organisme->nom) : ''); | |
318 | - $displayElement(__('Domaine'), $materiel->has('sur_category') ? h($materiel->sur_category->nom) : ''); | |
319 | - $displayElement(__('Catégorie'), $materiel->has('category') ? h($materiel->category->nom) : ''); | |
320 | - $displayElement(__('Sous-Catégorie'), $materiel->has('sous_category') ? h($materiel->sous_category->nom) : ''); | |
321 | - if (h($materiel->etiquette) == 0) { | |
322 | - $etiq = "Non"; | |
323 | - } else { | |
324 | - $etiq = "Oui"; | |
325 | - } | |
326 | - $displayElement(__('Etiquette posée'), $etiq); | |
327 | - $displayElement(__('N° de série'), $materiel->numero_serie); | |
328 | - $displayElement(__($configuration->nom_groupe_thematique), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, [ | |
329 | - 'controller' => 'GroupesThematiques', | |
330 | - 'action' => 'view', | |
331 | - $materiel->groupes_thematique->id | |
332 | - ]) : ''); | |
333 | - $displayElement(__($configuration->nom_groupe_metier), $materiel->has('groupes_metier') ? $this->Html->link($materiel->groupes_metier->nom, [ | |
334 | - 'controller' => 'GroupesMetiers', | |
335 | - 'action' => 'view', | |
336 | - $materiel->groupes_metier->id | |
337 | - ]) : ''); | |
338 | - if ($configuration->metrologie == 1) { | |
339 | - if (h($materiel->metrologie) == 0) { | |
340 | - $metro = "Non"; | |
341 | - } else { | |
342 | - $metro = "Oui"; | |
343 | - } | |
344 | - $displayElement(__('Métrologie'), $metro); | |
345 | - } | |
346 | - $displayElement(__('Date d\'achat'), h($materiel->date_acquisition)); | |
347 | - $displayElement(__('Date de reception'), h($materiel->date_reception)); | |
348 | - if (! empty(h($materiel->duree_garntie))) { | |
349 | - $displayElement(__('Duree garantie'), h($materiel->duree_garantie) . ' ' . h($materiel->unite_duree_garantie)); | |
350 | - } | |
351 | - $displayElement(__('Date fin de garantie'), h($materiel->date_fin_garantie), $style); | |
352 | - $displayElement(__('Statut'), h($materiel->status)); | |
353 | - if ($materiel->status == 'ARCHIVED') { | |
354 | - $displayElement(__('Date d\'archivage'), h($materiel->date_archivage)); | |
355 | - } | |
356 | - $displayElement(__('Prix (HT)'), h($materiel->prix_ht) . ' €'); | |
357 | - $displayElement(__('Fournisseur'), $materiel->has('fournisseur') ? $materiel->fournisseur->nom : ''); | |
358 | - $displayElement(__('Lieu de stockage'), $materiel->has('site') ? h($materiel->site->nom) : ''); | |
359 | - $displayElement(__('Détail lieu de stockage'), h($materiel->lieu_detail)); | |
360 | - $displayElement(__('Nom du propriétaire'), $this->Html->link(h($materiel->nom_responsable), 'mailto:' . h($materiel->email_responsable))); | |
361 | - $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire)); | |
362 | - $gestionnaire = TableRegistry::get('Users')->find()->where([ | |
363 | - 'id =' => $materiel->gestionnaire_id | |
364 | - ]); | |
365 | - $displayElement(__('Nom du gestionnaire de référence'), h($gestionnaire->first()['nom'])); | |
366 | - if ($role == 'Super Administrateur') { | |
367 | - $displayElement(__('Date création'), h($materiel->created)); | |
368 | - $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); | |
369 | - $displayElement(__('Date modification'), h($materiel->modified)); | |
370 | - $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); | |
371 | - } | |
372 | - ?> | |
333 | + | |
334 | + <!-- INFORMATIONS --> | |
335 | + | |
336 | + <h3 id="t_informations" style="cursor: pointer;"> | |
337 | + <i class="icon-chevron-down" style="font-size: 14px;" id="i_informations"></i> | |
338 | + <span style="text-decoration: underline;">Informations</span> | |
339 | + </h3> | |
340 | + | |
341 | + <div id="informations" style="margin-bottom: 20px;"> | |
342 | + <table> | |
343 | + <tr> | |
344 | + <th style="width: 250px;"></th> | |
345 | + <th></th> | |
346 | + </tr> | |
347 | + <?php | |
348 | + // Pour changer la couleur de la date de garantie si elle est passée - Ajout par Thibault Ajas le 02/05/2017 | |
349 | + $time = Time::now(); // On récupère la date et l'heure actuelles | |
350 | + $today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie | |
351 | + $today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 en un format qui pourra etre comparé : 20001231 | |
352 | + if ($materiel->date_fin_garantie !== NULL) { | |
353 | + $timeFin = new time($materiel->date_fin_garantie); | |
354 | + $dateFin = new date("$timeFin->year-$timeFin->month-$timeFin->day"); | |
355 | + $dateFin = $dateFin->format('Ydm'); | |
356 | + } | |
357 | + $style = ''; | |
358 | + if ( $materiel->date_fin_garantie !== NULL && $today >= $dateFin ) $style = 'style="color: #FF0000"'; | |
359 | + ?> | |
360 | + <?php | |
361 | + $type = ""; | |
362 | + if (h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1) { | |
363 | + $type = 'Administratif et technique'; | |
364 | + } else if (h($materiel->materiel_administratif) == 1) { | |
365 | + $type = 'Administratif'; | |
366 | + } else if (h($materiel->materiel_technique) == 1) { | |
367 | + $type = 'Technique'; | |
368 | + } | |
369 | + echo '<tr><td><strong>' . __('Description') . ' </strong></td><td>' . nl2br($materiel->description) . '</td></tr>'; | |
370 | + // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php | |
371 | + $displayElement(__('Materiel inventorié'), $type); | |
372 | + $displayElement(__('Organisme'), $materiel->has('organisme') ? h($materiel->organisme->nom) : ''); | |
373 | + $displayElement(__('Domaine'), $materiel->has('sur_category') ? h($materiel->sur_category->nom) : ''); | |
374 | + $displayElement(__('Catégorie'), $materiel->has('category') ? h($materiel->category->nom) : ''); | |
375 | + $displayElement(__('Sous-Catégorie'), $materiel->has('sous_category') ? h($materiel->sous_category->nom) : ''); | |
376 | + if (h($materiel->etiquette) == 0) { | |
377 | + $etiq = "Non"; | |
378 | + } else { | |
379 | + $etiq = "Oui"; | |
380 | + } | |
381 | + $displayElement(__('Etiquette posée'), $etiq); | |
382 | + $displayElement(__('N° de série'), $materiel->numero_serie); | |
383 | + $displayElement(__($configuration->nom_groupe_thematique), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, [ | |
384 | + 'controller' => 'GroupesThematiques', | |
385 | + 'action' => 'view', | |
386 | + $materiel->groupes_thematique->id | |
387 | + ]) : ''); | |
388 | + $displayElement(__($configuration->nom_groupe_metier), $materiel->has('groupes_metier') ? $this->Html->link($materiel->groupes_metier->nom, [ | |
389 | + 'controller' => 'GroupesMetiers', | |
390 | + 'action' => 'view', | |
391 | + $materiel->groupes_metier->id | |
392 | + ]) : ''); | |
393 | + if ($configuration->metrologie == 1) { | |
394 | + if (h($materiel->metrologie) == 0) { | |
395 | + $metro = "Non"; | |
396 | + } else { | |
397 | + $metro = "Oui"; | |
398 | + } | |
399 | + $displayElement(__('Métrologie'), $metro); | |
400 | + } | |
401 | + $displayElement(__('Date d\'achat'), h($materiel->date_acquisition)); | |
402 | + $displayElement(__('Date de reception'), h($materiel->date_reception)); | |
403 | + if (! empty(h($materiel->duree_garntie))) { | |
404 | + $displayElement(__('Duree garantie'), h($materiel->duree_garantie) . ' ' . h($materiel->unite_duree_garantie)); | |
405 | + } | |
406 | + $displayElement(__('Date fin de garantie'), h($materiel->date_fin_garantie), $style); | |
407 | + $displayElement(__('Statut'), h($materiel->status)); | |
408 | + if ($materiel->status == 'ARCHIVED') { | |
409 | + $displayElement(__('Date d\'archivage'), h($materiel->date_archivage)); | |
410 | + } | |
411 | + $displayElement(__('Prix (HT)'), h($materiel->prix_ht) . ' €'); | |
412 | + $displayElement(__('Fournisseur'), $materiel->has('fournisseur') ? $materiel->fournisseur->nom : ''); | |
413 | + $displayElement(__('Lieu de stockage'), $materiel->has('site') ? h($materiel->site->nom) : ''); | |
414 | + $displayElement(__('Détail lieu de stockage'), h($materiel->lieu_detail)); | |
415 | + $displayElement(__('Nom du propriétaire'), $this->Html->link(h($materiel->nom_responsable), 'mailto:' . h($materiel->email_responsable))); | |
416 | + $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire)); | |
417 | + $gestionnaire = TableRegistry::get('Users')->find()->where([ | |
418 | + 'id =' => $materiel->gestionnaire_id | |
419 | + ]); | |
420 | + $displayElement(__('Nom du gestionnaire de référence'), h($gestionnaire->first()['nom'])); | |
421 | + if ($role == 'Super Administrateur') { | |
422 | + $displayElement(__('Date création'), h($materiel->created)); | |
423 | + $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); | |
424 | + $displayElement(__('Date modification'), h($materiel->modified)); | |
425 | + $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); | |
426 | + } | |
427 | + ?> | |
373 | 428 | </table> |
374 | - </div> | |
429 | + </div> <!-- INFORMATIONS --> | |
375 | 430 | |
376 | 431 | |
432 | + <!-- PARTIE ADMIN --> | |
377 | 433 | <?php |
378 | - // Partie admin | |
379 | - if (in_array($role, [ | |
380 | - 'Administration', | |
381 | - 'Administration Plus', | |
382 | - 'Super Administrateur' | |
383 | - ])) { | |
434 | + if (in_array($role, ['Administration','Administration Plus','Super Administrateur'])) { | |
384 | 435 | echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; |
385 | 436 | echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; |
386 | 437 | echo '<span style="text-decoration: underline;"> Informations administratives</span>'; |
... | ... | @@ -399,226 +450,237 @@ else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVE |
399 | 450 | ?> |
400 | 451 | |
401 | 452 | |
402 | - <h3 id="t_suivis" style="cursor: pointer;"> | |
403 | - <i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i> | |
404 | - <span style="text-decoration: underline;">Suivi(s) du matériel (<?=count($materiel->suivis)?>)</span> | |
405 | - </h3> | |
406 | - <div id="suivis" style="margin-bottom: 20px;"> | |
407 | - | |
408 | - <?php | |
409 | - | |
410 | - if (! empty($materiel->suivis)) { | |
411 | - ?> | |
453 | + <!-- SUIVIS --> | |
454 | + <h3 id="t_suivis" style="cursor: pointer;"> | |
455 | + <i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i> | |
456 | + <span style="text-decoration: underline;">Suivi(s) du matériel (<?=count($materiel->suivis)?>)</span> | |
457 | + </h3> | |
458 | + <div id="suivis" style="margin-bottom: 20px;"> | |
459 | + <?php if (! empty($materiel->suivis)) { ?> | |
412 | 460 | <table> |
413 | - <tr> | |
414 | - <th class="actions"><?=__('')?></th> | |
415 | - <th><?=__('N°')?></th> | |
416 | - <th><?=__('Type d\'intervention')?></th> | |
417 | - <th><?=__('Intitulé')?></th> | |
418 | - <th><?=__('Etat metrologique')?></th> | |
419 | - <th><?=__('Date prochain contrôle')?></th> | |
420 | - <th><?=__('Statut')?></th> | |
421 | - </tr> | |
422 | - <?php | |
423 | - | |
424 | - foreach ($materiel->suivis as $suivis) : | |
425 | - ?> | |
426 | - <tr> | |
427 | - <td class="actions" | |
428 | - style="padding: 6px 0; text-align: left;"> | |
461 | + <tr> | |
462 | + <th class="actions"><?=__('')?></th> | |
463 | + <th><?=__('N°')?></th> | |
464 | + <th><?=__('Type d\'intervention')?></th> | |
465 | + <th><?=__('Intitulé')?></th> | |
466 | + <th><?=__('Etat metrologique')?></th> | |
467 | + <th><?=__('Date prochain contrôle')?></th> | |
468 | + <th><?=__('Statut')?></th> | |
469 | + </tr> | |
470 | + <?php foreach ($materiel->suivis as $suivis) :?> | |
471 | + <tr> | |
472 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
429 | 473 | <?php |
430 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
431 | - $materiel->nom_createur, | |
432 | - $materiel->nom_responsable | |
433 | - ]))) || (in_array($role, [ | |
434 | - 'Administration', | |
435 | - 'Administration Plus', | |
436 | - 'Super Administrateur' | |
437 | - ])) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
438 | - ?> | |
439 | - <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis','action' => 'edit',$suivis->id], ['escape' => false,'style' => 'margin:0'])?> | |
440 | - <?=$this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Suivis','action' => 'delete',$suivis->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivis->id)])?> | |
441 | - <?php | |
442 | - } | |
443 | - ?> | |
474 | + if ( | |
475 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
476 | + || | |
477 | + ( | |
478 | + $role == 'Utilisateur' | |
479 | + && in_array($username, [$materiel->nom_createur,$materiel->nom_responsable]) | |
480 | + ) | |
481 | + || ( | |
482 | + $role == 'Responsable' | |
483 | + && ( | |
484 | + ( | |
485 | + isset($userConnected->groupes_metier_id) | |
486 | + && $userConnected->groupes_metier_id != $idGmNa | |
487 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
488 | + ) | |
489 | + || | |
490 | + ( | |
491 | + isset($userConnected->groupe_thematique_id) | |
492 | + && $userConnected->groupe_thematique_id != $idGtNa | |
493 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
494 | + ) | |
495 | + ) | |
496 | + ) | |
497 | + ) { | |
498 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis','action' => 'edit',$suivis->id], ['escape' => false,'style' => 'margin:0']); | |
499 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Suivis','action' => 'delete',$suivis->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivis->id)]); | |
500 | + } | |
501 | + ?> | |
444 | 502 | </td> |
445 | - <td><?=$this->Html->link('Suivi ' . $suivis->id, ['controller' => 'suivis','action' => 'view',$suivis->id])?></td> | |
446 | - <td><?=$typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'];?></td> | |
447 | - <td><?=h($suivis->intitule)?></td> | |
448 | - <td><?=h($suivis->conforme)?></td> | |
449 | - <td><?=h($suivis->date_prochain_controle)?></td> | |
450 | - <td><?=h($suivis->statut)?></td> | |
451 | - </tr> | |
452 | - <?php | |
453 | - endforeach | |
454 | - ; | |
455 | - ?> | |
503 | + <td><?=$this->Html->link('Suivi ' . $suivis->id, ['controller' => 'suivis','action' => 'view',$suivis->id])?></td> | |
504 | + <td><?=$typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'];?></td> | |
505 | + <td><?=h($suivis->intitule)?></td> | |
506 | + <td><?=h($suivis->conforme)?></td> | |
507 | + <td><?=h($suivis->date_prochain_controle)?></td> | |
508 | + <td><?=h($suivis->statut)?></td> | |
509 | + </tr> | |
510 | + <?php endforeach;?> | |
456 | 511 | </table> |
457 | - <?php | |
458 | - } else { | |
459 | - echo 'Aucun suivi pour ce matériel.'; | |
460 | - } | |
461 | - ?> | |
512 | + <?php | |
513 | + } else { | |
514 | + echo 'Aucun suivi pour ce matériel.'; | |
515 | + } | |
516 | + ?> | |
462 | 517 | </div> |
463 | - <h3 id="t_emprunts" style="cursor: pointer;"> | |
464 | - <i class="icon-chevron-down" style="font-size: 14px;" | |
465 | - id="i_emprunts"></i> <span style="text-decoration: underline;">Emprunt(s) du matériel (<?=count($materiel->emprunts)?>)</span> | |
466 | - </h3> | |
467 | - <div id="emprunts" style="margin-bottom: 20px;"> | |
468 | - | |
469 | - <?php | |
470 | - | |
471 | - if (! empty($materiel->emprunts)) { | |
472 | - ?> | |
473 | - <table> | |
474 | - <tr> | |
475 | - <th class="actions"><?=__('')?></th> | |
476 | - <th><?=__('N°')?></th> | |
477 | - <th><?=__('Emprunteur')?></th> | |
478 | - <th><?=__('Type d\'Emprunt')?></th> | |
479 | - <th><?=__('Où')?></th> | |
480 | - <th><?=__('Date de l\'emprunt')?></th> | |
481 | - <th><?=__('Date de retour')?></th> | |
482 | - </tr> | |
483 | - <?php | |
484 | - foreach ($materiel->emprunts as $emprunts) : | |
485 | - $type = 'Externe'; | |
486 | - $lieu = $emprunts['laboratoire']; | |
487 | - if ($emprunts['emprunt_interne'] == 1) { | |
488 | - $type = 'Interne'; | |
489 | - $lieu = $sites->find()->where([ | |
490 | - 'id =' => h($emprunts->site_id) | |
491 | - ])->first()['nom'] . '-' . h($emprunts->e_lieu_detail); | |
492 | - } | |
493 | - ?> | |
494 | - <tr> | |
495 | - <td class="actions" | |
496 | - style="padding: 6px 0; text-align: left;"> | |
497 | - <?php | |
498 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
499 | - $materiel->nom_createur, | |
500 | - $materiel->nom_responsable | |
501 | - ]))) || (in_array($role, [ | |
502 | - 'Administration', | |
503 | - 'Administration Plus', | |
504 | - 'Super Administrateur' | |
505 | - ])) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
506 | - ?> | |
507 | - <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts','action' => 'edit',$emprunts->id], ['escape' => false,'style' => 'margin:0'])?> | |
508 | - <?=$this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Emprunts','action' => 'delete',$emprunts->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $emprunts->id)])?> | |
509 | - <?php | |
510 | - } | |
511 | - ?> | |
512 | - </td> | |
513 | - <td><?=$this->Html->link('Emprunt ' . $emprunts->id, ['controller' => 'emprunts','action' => 'view',$emprunts->id])?></td> | |
514 | - <td><?=h($emprunts->nom_emprunteur)?></td> | |
515 | - <td><?=h($type)?></td> | |
516 | - <td><?=h($lieu)?></td> | |
517 | - <td><?=h($emprunts->date_emprunt)?></td> | |
518 | - <td><?=h($emprunts->date_retour_emprunt)?></td> | |
519 | - </tr> | |
520 | - <?php | |
521 | - endforeach | |
522 | - ; | |
523 | - ?> | |
524 | - </table> | |
525 | - <?php | |
526 | - } else { | |
527 | - echo 'Aucun emprunt pour ce matériel.'; | |
528 | - } | |
529 | - ?> | |
530 | - </div> | |
531 | - | |
518 | + | |
532 | 519 | |
520 | + <!-- EMPRUNTS --> | |
521 | + <h3 id="t_emprunts" style="cursor: pointer;"> | |
522 | + <i class="icon-chevron-down" style="font-size: 14px;" id="i_emprunts"></i> | |
523 | + <span style="text-decoration: underline;">Emprunt(s) du matériel (<?=count($materiel->emprunts)?>)</span> | |
524 | + </h3> | |
525 | + <div id="emprunts" style="margin-bottom: 20px;"> | |
526 | + <?php if (! empty($materiel->emprunts)) { ?> | |
527 | + <table> | |
528 | + <tr> | |
529 | + <th class="actions"><?=__('')?></th> | |
530 | + <th><?=__('N°')?></th> | |
531 | + <th><?=__('Emprunteur')?></th> | |
532 | + <th><?=__('Type d\'Emprunt')?></th> | |
533 | + <th><?=__('Où')?></th> | |
534 | + <th><?=__('Date de l\'emprunt')?></th> | |
535 | + <th><?=__('Date de retour')?></th> | |
536 | + </tr> | |
537 | + <?php foreach ($materiel->emprunts as $emprunts) : | |
538 | + $type = 'Externe'; | |
539 | + $lieu = $emprunts['laboratoire']; | |
540 | + if ($emprunts['emprunt_interne'] == 1) { | |
541 | + $type = 'Interne'; | |
542 | + $lieu = $sites->find()->where([ | |
543 | + 'id =' => h($emprunts->site_id) | |
544 | + ])->first()['nom'] . '-' . h($emprunts->e_lieu_detail); | |
545 | + } | |
546 | + ?> | |
547 | + <tr> | |
548 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
549 | + <?php | |
550 | + if ( | |
551 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
552 | + || | |
553 | + ( | |
554 | + $role == 'Utilisateur' | |
555 | + && in_array($username, [$materiel->nom_createur,$materiel->nom_responsable]) | |
556 | + ) | |
557 | + || ( | |
558 | + $role == 'Responsable' | |
559 | + && ( | |
560 | + ( | |
561 | + isset($userConnected->groupes_metier_id) | |
562 | + && $userConnected->groupes_metier_id != $idGmNa | |
563 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
564 | + ) | |
565 | + || | |
566 | + ( | |
567 | + isset($userConnected->groupe_thematique_id) | |
568 | + && $userConnected->groupe_thematique_id != $idGtNa | |
569 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
570 | + ) | |
571 | + ) | |
572 | + ) | |
573 | + ) { | |
574 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts','action' => 'edit',$emprunts->id], ['escape' => false,'style' => 'margin:0']); | |
575 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Emprunts','action' => 'delete',$emprunts->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $emprunts->id)]); | |
576 | + } | |
577 | + ?> | |
578 | + </td> | |
579 | + <td><?=$this->Html->link('Emprunt ' . $emprunts->id, ['controller' => 'emprunts','action' => 'view',$emprunts->id])?></td> | |
580 | + <td><?=h($emprunts->nom_emprunteur)?></td> | |
581 | + <td><?=h($type)?></td> | |
582 | + <td><?=h($lieu)?></td> | |
583 | + <td><?=h($emprunts->date_emprunt)?></td> | |
584 | + <td><?=h($emprunts->date_retour_emprunt)?></td> | |
585 | + </tr> | |
586 | + <?php endforeach;?> | |
587 | + </table> | |
533 | 588 | <?php |
534 | - $nbFic = count($materiel->documents); | |
535 | - ?> | |
589 | + } else { | |
590 | + echo 'Aucun emprunt pour ce matériel.'; | |
591 | + } | |
592 | + ?> | |
593 | + </div> <!-- EMPRUNTS --> | |
536 | 594 | |
537 | 595 | |
538 | - <h3 id="t_fichiers" style="cursor: pointer;"> | |
539 | - <i class="icon-chevron-down" style="font-size: 14px;" | |
540 | - id="i_fichiers"></i> <span style="text-decoration: underline;">Fichier(s) lié(s) au matériel (<?=$nbFic?>)</span> | |
541 | - </h3> | |
542 | - <div id="fichiers" style="margin-bottom: 20px;"> | |
543 | - | |
544 | - <?php | |
545 | - | |
546 | - if ($nbFic != 0) { | |
547 | - ?> | |
548 | - <table> | |
549 | - <tr> | |
550 | - <th class="actions"><?=__('')?></th> | |
551 | - <th><?=__('Nom')?></th> | |
552 | - <th><?=__('Type')?></th> | |
553 | - <th><?=__('Miniature')?></th> | |
554 | - </tr> | |
555 | - <?php | |
556 | - foreach ($materiel->documents as $documents) : | |
557 | - if ($documents->photo) { | |
558 | - $p = 'Oui'; | |
559 | - } else { | |
560 | - $p = ''; | |
561 | - } | |
562 | - $type = $typeDocuments->find()->where([ | |
563 | - 'id =' => h($documents->type_document_id) | |
564 | - ])->first()['nom']; | |
565 | - ?> | |
566 | - <tr> | |
567 | - <td class="actions" | |
568 | - style="padding: 6px 0; text-align: left;"> | |
569 | - <?php | |
570 | - if ($documents->photo) { | |
571 | - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [ | |
572 | - 'title' => 'Télécharger', | |
573 | - 'style' => 'margin:0', | |
574 | - 'escape' => false | |
575 | - ]); | |
576 | - } else { | |
577 | - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [ | |
578 | - 'title' => 'Télécharger', | |
579 | - 'style' => 'margin:0', | |
580 | - 'escape' => false | |
581 | - ]); | |
582 | - } | |
583 | - if (($role == 'Utilisateur' && (in_array($username, [ | |
584 | - $materiel->nom_createur, | |
585 | - $materiel->nom_responsable | |
586 | - ]))) || (in_array($role, [ | |
587 | - 'Administration', | |
588 | - 'Administration Plus', | |
589 | - 'Super Administrateur' | |
590 | - ])) || ($role == 'Responsable' && ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) || (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
591 | - ?> | |
592 | - <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents','action' => 'edit',$documents->id], ['escape' => false,'style' => 'margin:0'])?> | |
593 | - <?=$this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Documents','action' => 'delete',$documents->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id)])?> | |
596 | + <!-- FICHIERS liés --> | |
597 | + <?php $nbFic = count($materiel->documents); ?> | |
598 | + <h3 id="t_fichiers" style="cursor: pointer;"> | |
599 | + <i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i> | |
600 | + <span style="text-decoration: underline;">Fichier(s) lié(s) au matériel (<?=$nbFic?>)</span> | |
601 | + </h3> | |
602 | + <div id="fichiers" style="margin-bottom: 20px;"> | |
603 | + <?php if ($nbFic != 0) { ?> | |
604 | + <table> | |
605 | + <tr> | |
606 | + <th class="actions"><?=__('')?></th> | |
607 | + <th><?=__('Nom')?></th> | |
608 | + <th><?=__('Type')?></th> | |
609 | + <th><?=__('Miniature')?></th> | |
610 | + </tr> | |
611 | + <?php | |
612 | + foreach ($materiel->documents as $documents) : | |
613 | + $p = ($documents->photo) ? 'Oui' : ''; | |
614 | + $type = $typeDocuments->find()->where([ | |
615 | + 'id =' => h($documents->type_document_id) | |
616 | + ])->first()['nom']; | |
617 | + ?> | |
618 | + <tr> | |
619 | + <td class="actions" style="padding: 6px 0; text-align: left;"> | |
620 | + <?php | |
621 | + if ($documents->photo) { | |
622 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [ | |
623 | + 'title' => 'Télécharger', | |
624 | + 'style' => 'margin:0', | |
625 | + 'escape' => false | |
626 | + ]); | |
627 | + } else { | |
628 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [ | |
629 | + 'title' => 'Télécharger', | |
630 | + 'style' => 'margin:0', | |
631 | + 'escape' => false | |
632 | + ]); | |
633 | + } | |
634 | + if ( | |
635 | + in_array($role, ['Administration','Administration Plus','Super Administrateur']) | |
636 | + || | |
637 | + ( | |
638 | + $role == 'Utilisateur' | |
639 | + && in_array($username, [$materiel->nom_createur,$materiel->nom_responsable]) | |
640 | + ) | |
641 | + || | |
642 | + ( | |
643 | + $role == 'Responsable' | |
644 | + && ( | |
645 | + ( | |
646 | + isset($userConnected->groupes_metier_id) | |
647 | + && $userConnected->groupes_metier_id != $idGmNa | |
648 | + && $materiel->groupes_metier_id == $userConnected->groupes_metier_id | |
649 | + ) | |
650 | + || | |
651 | + ( | |
652 | + isset($userConnected->groupe_thematique_id) | |
653 | + && $userConnected->groupe_thematique_id != $idGtNa | |
654 | + && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id | |
655 | + ) | |
656 | + ) | |
657 | + ) | |
658 | + ) { | |
659 | + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents','action' => 'edit',$documents->id], ['escape' => false,'style' => 'margin:0']); | |
660 | + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['controller' => 'Documents','action' => 'delete',$documents->id], ['escape' => false,'style' => 'margin:0','confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id)]); | |
661 | + } | |
662 | + ?> | |
663 | + </td> | |
664 | + <td><?=$this->Html->link($documents->nom, ['controller' => 'documents','action' => 'view',$documents->id])?></td> | |
665 | + <td><?=$type?></td> | |
666 | + <td><?=$p?></td> | |
667 | + </tr> | |
594 | 668 | <?php |
595 | - } | |
596 | - ?> | |
597 | - </td> | |
598 | - <td><?=$this->Html->link($documents->nom, ['controller' => 'documents','action' => 'view',$documents->id])?></td> | |
599 | - <td><?=$type?></td> | |
600 | - <td><?=$p?></td> | |
601 | - </tr> | |
602 | - <?php | |
603 | - endforeach | |
604 | - ; | |
605 | - ?> | |
606 | - </table> | |
607 | - <?php | |
608 | - } else { | |
609 | - echo 'Aucun fichier pour ce matériel.'; | |
610 | - } | |
611 | - ?> | |
612 | - </div> | |
613 | - </div> | |
614 | - <div class="actions"> | |
615 | - <?php | |
669 | + endforeach; | |
670 | + ?> | |
671 | + </table> | |
672 | + <?php } else echo 'Aucun fichier pour ce matériel.'; ?> | |
673 | + </div> <!-- FICHIERS liés --> | |
616 | 674 | |
617 | - echo $this->element('menu')?> | |
618 | - <?php | |
619 | - echo $this->element('menu_view', [ | |
620 | - 'pluralHumanName' => 'Matériels', | |
621 | - 'singularHumanName' => 'Matériel', | |
622 | - 'lien' => $materiel->id | |
623 | - ])?> | |
624 | - </div> | |
625 | 675 | \ No newline at end of file |
676 | +</div> <!-- "materiels view" --> | |
677 | + | |
678 | + | |
679 | + <!-- MENU --> | |
680 | + <div class="actions"> | |
681 | + <?php echo $this->element('menu')?> | |
682 | + <?php echo $this->element('menu_view', [ | |
683 | + 'pluralHumanName' => 'Matériels', | |
684 | + 'singularHumanName' => 'Matériel', | |
685 | + 'lien' => $materiel->id | |
686 | + ])?> | |
687 | + </div> | |
626 | 688 | \ No newline at end of file | ... | ... |