Commit e7797d3da52ae53da950f4ed9a1db4281fce8893
1 parent
4b724c72
Exists in
master
and in
3 other branches
fin des bugfixes liés au merge avec le LATMOS
Showing
15 changed files
with
1481 additions
and
833 deletions
Show diff stats
README-LABINVENT.md
... | ... | @@ -53,13 +53,12 @@ Logiciel testé et validé sur les configurations suivantes : |
53 | 53 | |
54 | 54 | VERSION ACTUELLE |
55 | 55 | |
56 | -Date: 02/06/2017 | |
57 | -Version: 2.6.4 | |
58 | -- Bugfixes divers | |
59 | -- Corrections de fautes | |
60 | -- Refactorisations de fonctions | |
61 | -- Les responsables ne peuvent plus valider les matériels | |
62 | -- Ajout de la procédure à suivre lors d'une demande d'achat de matériel | |
56 | +Date: 09/06/2017 | |
57 | +Version: 2.6.5 | |
58 | +- 1er merge avec le LATMOS | |
59 | + -> Récupération du module de métrologie | |
60 | + -> Bugfixes nombreux | |
61 | +- Changements mineurs au niveau des ACLs | |
63 | 62 | - ATTENTION : Mise à jour de la base de données requise (cf database/update) |
64 | 63 | |
65 | 64 | Version majeure en cours (2.6): https://projects.irap.omp.eu/versions/99 | ... | ... |
... | ... | @@ -0,0 +1,694 @@ |
1 | +-- phpMyAdmin SQL Dump | |
2 | +-- version 4.0.10deb1 | |
3 | +-- http://www.phpmyadmin.net | |
4 | +-- | |
5 | +-- Client: localhost | |
6 | +-- Généré le: Ven 09 Juin 2017 à 18:40 | |
7 | +-- Version du serveur: 5.5.55-0ubuntu0.14.04.1 | |
8 | +-- Version de PHP: 5.6.30-11+deb.sury.org~trusty+3 | |
9 | + | |
10 | +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; | |
11 | +SET time_zone = "+00:00"; | |
12 | + | |
13 | + | |
14 | +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; | |
15 | +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; | |
16 | +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; | |
17 | +/*!40101 SET NAMES utf8 */; | |
18 | + | |
19 | +-- | |
20 | +-- Base de données: `mydb` | |
21 | +-- | |
22 | +USE `mydb`; | |
23 | + | |
24 | +-- -------------------------------------------------------- | |
25 | + | |
26 | +-- | |
27 | +-- Structure de la table `categories` | |
28 | +-- | |
29 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
30 | +-- | |
31 | + | |
32 | +CREATE TABLE IF NOT EXISTS `categories` ( | |
33 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
34 | + `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', | |
35 | + `sur_categorie_id` int(11) NOT NULL, | |
36 | + PRIMARY KEY (`id`), | |
37 | + UNIQUE KEY `nom_UNIQUE` (`nom`), | |
38 | + KEY `fk_sur_categorie_id` (`sur_categorie_id`) | |
39 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=74 ; | |
40 | + | |
41 | +-- | |
42 | +-- RELATIONS POUR LA TABLE `categories`: | |
43 | +-- `sur_categorie_id` | |
44 | +-- `sur_categories` -> `id` | |
45 | +-- | |
46 | + | |
47 | +-- -------------------------------------------------------- | |
48 | + | |
49 | +-- | |
50 | +-- Structure de la table `configurations` | |
51 | +-- | |
52 | +-- Création: Jeu 08 Juin 2017 à 13:56 | |
53 | +-- | |
54 | + | |
55 | +CREATE TABLE IF NOT EXISTS `configurations` ( | |
56 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
57 | + `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', | |
58 | + `mode_install` tinyint(1) DEFAULT NULL, | |
59 | + `mode_debug` tinyint(1) DEFAULT NULL, | |
60 | + `use_ldap` tinyint(1) DEFAULT NULL, | |
61 | + `host_ldap` text, | |
62 | + `port_ldap` varchar(10) DEFAULT NULL, | |
63 | + `authentificationType_ldap` varchar(30) DEFAULT 'xxx', | |
64 | + `baseDn_ldap` varchar(300) DEFAULT NULL, | |
65 | + `filter_ldap` varchar(30) DEFAULT NULL, | |
66 | + `labName` varchar(200) DEFAULT 'NOM COMPLET', | |
67 | + `labNameShort` varchar(20) DEFAULT NULL, | |
68 | + `labPresent` varchar(10) DEFAULT NULL, | |
69 | + `labUmr` varchar(30) DEFAULT NULL, | |
70 | + `hasPrinter` tinyint(1) DEFAULT NULL, | |
71 | + `nom_groupe_thematique` varchar(50) DEFAULT 'Groupe thematique', | |
72 | + `nom_groupe_metier` varchar(50) DEFAULT 'Groupe metier', | |
73 | + `envoi_mail` tinyint(1) NOT NULL DEFAULT '0', | |
74 | + `envoi_mail_guests` tinyint(1) NOT NULL DEFAULT '0', | |
75 | + `sender_mail` varchar(500) DEFAULT 'labinvent@irap.omp.eu', | |
76 | + `emailGuest1` varchar(45) DEFAULT NULL, | |
77 | + `emailGuest2` varchar(45) DEFAULT NULL, | |
78 | + `emailGuest3` varchar(45) DEFAULT NULL, | |
79 | + `emailGuest4` varchar(45) DEFAULT NULL, | |
80 | + `emailGuest5` varchar(45) DEFAULT NULL, | |
81 | + `emailGuest6` varchar(45) DEFAULT NULL, | |
82 | + `emailGuest7` varchar(45) DEFAULT NULL, | |
83 | + `emailGuest8` varchar(45) DEFAULT NULL, | |
84 | + `emailGuest9` varchar(45) DEFAULT NULL, | |
85 | + `emailGuest10` varchar(45) DEFAULT NULL, | |
86 | + `test` tinyint(1) DEFAULT NULL, | |
87 | + `prix_inventaire_administratif` int(10) DEFAULT '800', | |
88 | + `numero_labo_sans_annee` tinyint(1) DEFAULT NULL, | |
89 | + `date_commande_facultative` tinyint(1) DEFAULT NULL, | |
90 | + `taille_max_doc` int(15) DEFAULT '8000000', | |
91 | + `metrologie` tinyint(1) DEFAULT '0', | |
92 | + `aff_par_defaut` smallint(6) NOT NULL DEFAULT '20', | |
93 | + `procedure_sur_accueil` tinyint(1) NOT NULL DEFAULT '1', | |
94 | + PRIMARY KEY (`id`), | |
95 | + UNIQUE KEY `nom_UNIQUE` (`nom`) | |
96 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; | |
97 | + | |
98 | +-- -------------------------------------------------------- | |
99 | + | |
100 | +-- | |
101 | +-- Structure de la table `documents` | |
102 | +-- | |
103 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
104 | +-- | |
105 | + | |
106 | +CREATE TABLE IF NOT EXISTS `documents` ( | |
107 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
108 | + `type_doc` varchar(20) DEFAULT NULL, | |
109 | + `description` text, | |
110 | + `nom` varchar(100) DEFAULT NULL, | |
111 | + `materiel_id` int(11) DEFAULT NULL, | |
112 | + `suivi_id` int(11) DEFAULT NULL, | |
113 | + `type_document_id` int(11) DEFAULT NULL, | |
114 | + `photo` tinyint(1) DEFAULT NULL, | |
115 | + PRIMARY KEY (`id`), | |
116 | + KEY `fk_documents_materiel_id` (`materiel_id`), | |
117 | + KEY `fk_documents_suivi_id` (`suivi_id`), | |
118 | + KEY `fk_documents_type_documents_id` (`type_document_id`) | |
119 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
120 | + | |
121 | +-- | |
122 | +-- RELATIONS POUR LA TABLE `documents`: | |
123 | +-- `materiel_id` | |
124 | +-- `materiels` -> `id` | |
125 | +-- `suivi_id` | |
126 | +-- `suivis` -> `id` | |
127 | +-- `type_document_id` | |
128 | +-- `type_documents` -> `id` | |
129 | +-- | |
130 | + | |
131 | +-- -------------------------------------------------------- | |
132 | + | |
133 | +-- | |
134 | +-- Structure de la table `emprunts` | |
135 | +-- | |
136 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
137 | +-- | |
138 | + | |
139 | +CREATE TABLE IF NOT EXISTS `emprunts` ( | |
140 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
141 | + `materiel_id` int(11) NOT NULL, | |
142 | + `date_emprunt` date DEFAULT NULL, | |
143 | + `date_retour_emprunt` date DEFAULT NULL, | |
144 | + `emprunt_interne` tinyint(1) DEFAULT NULL, | |
145 | + `laboratoire` varchar(45) DEFAULT NULL, | |
146 | + `site_id` int(11) DEFAULT NULL, | |
147 | + `e_lieu_detail` varchar(45) DEFAULT NULL, | |
148 | + `nom_emprunteur` varchar(45) DEFAULT NULL, | |
149 | + `email_emprunteur` varchar(45) DEFAULT NULL, | |
150 | + `tel` varchar(20) DEFAULT NULL, | |
151 | + `commentaire` varchar(200) DEFAULT NULL, | |
152 | + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', | |
153 | + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', | |
154 | + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', | |
155 | + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', | |
156 | + PRIMARY KEY (`id`), | |
157 | + KEY `fk_technical_materials_internal_loans_copy1_admi_materials1` (`materiel_id`), | |
158 | + KEY `fk_emprunts_site_id` (`site_id`) | |
159 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; | |
160 | + | |
161 | +-- | |
162 | +-- RELATIONS POUR LA TABLE `emprunts`: | |
163 | +-- `site_id` | |
164 | +-- `sites` -> `id` | |
165 | +-- `materiel_id` | |
166 | +-- `materiels` -> `id` | |
167 | +-- | |
168 | + | |
169 | +-- -------------------------------------------------------- | |
170 | + | |
171 | +-- | |
172 | +-- Structure de la table `fichemetrologiques` | |
173 | +-- | |
174 | +-- Création: Ven 02 Juin 2017 à 15:18 | |
175 | +-- | |
176 | + | |
177 | +CREATE TABLE IF NOT EXISTS `fichemetrologiques` ( | |
178 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
179 | + `suivi_id` int(11) NOT NULL, | |
180 | + `mesurande` double DEFAULT NULL, | |
181 | + `moyenne` double DEFAULT NULL, | |
182 | + `ecarttype` double DEFAULT NULL, | |
183 | + `correction` double DEFAULT NULL, | |
184 | + `ua` double DEFAULT NULL, | |
185 | + `ub` double DEFAULT NULL, | |
186 | + `uc` double DEFAULT NULL, | |
187 | + `uf` double DEFAULT NULL, | |
188 | + `u` double DEFAULT NULL, | |
189 | + `incertitude` double DEFAULT NULL, | |
190 | + `conditionEnv` double DEFAULT NULL, | |
191 | + `resolution` varchar(45) DEFAULT NULL, | |
192 | + `etatmateriel` varchar(45) DEFAULT NULL, | |
193 | + `etatmetrologique` varchar(45) DEFAULT NULL, | |
194 | + `emtpersonnel` double DEFAULT NULL, | |
195 | + `nbMesure` int(11) DEFAULT NULL, | |
196 | + `conformeEMTstandart` varchar(100) DEFAULT NULL, | |
197 | + `conformeEMTperso` varchar(100) DEFAULT NULL, | |
198 | + `resultatfinal` varchar(100) DEFAULT NULL, | |
199 | + `observation` varchar(200) DEFAULT NULL, | |
200 | + `datefiche` date DEFAULT NULL, | |
201 | + `retard` varchar(45) DEFAULT 'RAS', | |
202 | + `justesse` double DEFAULT NULL, | |
203 | + PRIMARY KEY (`id`), | |
204 | + KEY `fk_fichemetrologique_suivi_id_idx` (`suivi_id`) | |
205 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
206 | + | |
207 | +-- | |
208 | +-- RELATIONS POUR LA TABLE `fichemetrologiques`: | |
209 | +-- `suivi_id` | |
210 | +-- `suivis` -> `id` | |
211 | +-- | |
212 | + | |
213 | +-- -------------------------------------------------------- | |
214 | + | |
215 | +-- | |
216 | +-- Structure de la table `formules` | |
217 | +-- | |
218 | +-- Création: Ven 02 Juin 2017 à 14:54 | |
219 | +-- | |
220 | + | |
221 | +CREATE TABLE IF NOT EXISTS `formules` ( | |
222 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
223 | + `nommesure` varchar(100) DEFAULT NULL, | |
224 | + `symbole` varchar(45) DEFAULT 'F', | |
225 | + `unite` varchar(45) DEFAULT NULL, | |
226 | + `nbVariable` int(11) DEFAULT NULL, | |
227 | + `formule` varchar(200) DEFAULT 'F', | |
228 | + PRIMARY KEY (`id`) | |
229 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
230 | + | |
231 | +-- -------------------------------------------------------- | |
232 | + | |
233 | +-- | |
234 | +-- Structure de la table `fournisseurs` | |
235 | +-- | |
236 | +-- Création: Ven 02 Juin 2017 à 14:54 | |
237 | +-- | |
238 | + | |
239 | +CREATE TABLE IF NOT EXISTS `fournisseurs` ( | |
240 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
241 | + `nom` varchar(45) DEFAULT NULL, | |
242 | + PRIMARY KEY (`id`) | |
243 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; | |
244 | + | |
245 | +-- -------------------------------------------------------- | |
246 | + | |
247 | +-- | |
248 | +-- Structure de la table `groupes_metiers` | |
249 | +-- | |
250 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
251 | +-- | |
252 | + | |
253 | +CREATE TABLE IF NOT EXISTS `groupes_metiers` ( | |
254 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
255 | + `nom` varchar(45) DEFAULT NULL, | |
256 | + `description` varchar(100) DEFAULT NULL, | |
257 | + PRIMARY KEY (`id`) | |
258 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; | |
259 | + | |
260 | +-- -------------------------------------------------------- | |
261 | + | |
262 | +-- | |
263 | +-- Structure de la table `groupes_thematiques` | |
264 | +-- | |
265 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
266 | +-- | |
267 | + | |
268 | +CREATE TABLE IF NOT EXISTS `groupes_thematiques` ( | |
269 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
270 | + `nom` varchar(45) DEFAULT NULL, | |
271 | + `description` varchar(100) DEFAULT NULL, | |
272 | + PRIMARY KEY (`id`) | |
273 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; | |
274 | + | |
275 | +-- -------------------------------------------------------- | |
276 | + | |
277 | +-- | |
278 | +-- Structure de la table `materiels` | |
279 | +-- | |
280 | +-- Création: Ven 09 Juin 2017 à 10:52 | |
281 | +-- | |
282 | + | |
283 | +CREATE TABLE IF NOT EXISTS `materiels` ( | |
284 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
285 | + `designation` varchar(50) DEFAULT NULL, | |
286 | + `sur_categorie_id` int(11) DEFAULT NULL, | |
287 | + `categorie_id` int(11) DEFAULT NULL, | |
288 | + `sous_categorie_id` int(11) DEFAULT NULL, | |
289 | + `numero_laboratoire` varchar(14) DEFAULT NULL, | |
290 | + `description` text, | |
291 | + `materiel_administratif` tinyint(1) DEFAULT NULL, | |
292 | + `materiel_technique` tinyint(1) DEFAULT NULL, | |
293 | + `status` varchar(15) DEFAULT 'CREATED', | |
294 | + `date_acquisition` date DEFAULT NULL, | |
295 | + `fournisseur_id` int(11) DEFAULT NULL, | |
296 | + `prix_ht` float unsigned DEFAULT NULL, | |
297 | + `eotp` varchar(45) DEFAULT NULL, | |
298 | + `numero_commande` varchar(45) DEFAULT NULL, | |
299 | + `code_comptable` varchar(45) DEFAULT NULL, | |
300 | + `numero_serie` varchar(45) DEFAULT NULL, | |
301 | + `groupes_thematique_id` int(11) DEFAULT NULL, | |
302 | + `groupes_metier_id` int(11) DEFAULT NULL, | |
303 | + `numero_inventaire_organisme` varchar(45) DEFAULT NULL, | |
304 | + `numero_inventaire_old` varchar(45) DEFAULT NULL COMMENT 'Ancien numero inventaire', | |
305 | + `date_archivage` date DEFAULT NULL, | |
306 | + `etiquette` tinyint(1) DEFAULT '0' COMMENT 'etiquette sur materiel oui ou non', | |
307 | + `lieu_detail` varchar(45) DEFAULT NULL, | |
308 | + `nom_responsable` varchar(45) DEFAULT NULL, | |
309 | + `email_responsable` varchar(45) DEFAULT NULL, | |
310 | + `gestionnaire_id` int(11) DEFAULT NULL, | |
311 | + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', | |
312 | + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', | |
313 | + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', | |
314 | + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', | |
315 | + `date_reception` date DEFAULT NULL, | |
316 | + `organisme_id` int(11) DEFAULT NULL, | |
317 | + `site_id` int(11) DEFAULT '2', | |
318 | + `date_fin_garantie` date DEFAULT NULL, | |
319 | + `duree_garantie` int(10) DEFAULT NULL, | |
320 | + `unite_duree_garantie` varchar(30) DEFAULT NULL, | |
321 | + `photo_id` int(11) DEFAULT NULL, | |
322 | + `metrologie` tinyint(1) DEFAULT '0', | |
323 | + PRIMARY KEY (`id`), | |
324 | + UNIQUE KEY `numero_irap` (`numero_laboratoire`), | |
325 | + KEY `fk_administrative_materials_sub_categories1` (`sous_categorie_id`), | |
326 | + KEY `fk_materials_thematic_group1` (`groupes_thematique_id`), | |
327 | + KEY `fk_materials_work_group1` (`groupes_metier_id`), | |
328 | + KEY `fk_materiels_categories1` (`categorie_id`), | |
329 | + KEY `fk_materiels_sur_categorie_id` (`sur_categorie_id`), | |
330 | + KEY `fk_materiels_organisme_id` (`organisme_id`), | |
331 | + KEY `fk_materiels_site_id` (`site_id`), | |
332 | + KEY `fk_materiels_fournisseurs_id_idx` (`fournisseur_id`) | |
333 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11723 ; | |
334 | + | |
335 | +-- | |
336 | +-- RELATIONS POUR LA TABLE `materiels`: | |
337 | +-- `sous_categorie_id` | |
338 | +-- `sous_categories` -> `id` | |
339 | +-- `groupes_thematique_id` | |
340 | +-- `groupes_thematiques` -> `id` | |
341 | +-- `groupes_metier_id` | |
342 | +-- `groupes_metiers` -> `id` | |
343 | +-- `categorie_id` | |
344 | +-- `categories` -> `id` | |
345 | +-- `organisme_id` | |
346 | +-- `organismes` -> `id` | |
347 | +-- `site_id` | |
348 | +-- `sites` -> `id` | |
349 | +-- `sur_categorie_id` | |
350 | +-- `sur_categories` -> `id` | |
351 | +-- | |
352 | + | |
353 | +-- -------------------------------------------------------- | |
354 | + | |
355 | +-- | |
356 | +-- Structure de la table `mesures` | |
357 | +-- | |
358 | +-- Création: Ven 02 Juin 2017 à 15:18 | |
359 | +-- | |
360 | + | |
361 | +CREATE TABLE IF NOT EXISTS `mesures` ( | |
362 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
363 | + `fichemetrologique_id` int(11) NOT NULL, | |
364 | + `valeur` double DEFAULT NULL, | |
365 | + `erreur` double DEFAULT NULL, | |
366 | + PRIMARY KEY (`id`), | |
367 | + KEY `fk_mesures_fichemetrologique_id_idx` (`fichemetrologique_id`) | |
368 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
369 | + | |
370 | +-- | |
371 | +-- RELATIONS POUR LA TABLE `mesures`: | |
372 | +-- `fichemetrologique_id` | |
373 | +-- `fichemetrologiques` -> `id` | |
374 | +-- | |
375 | + | |
376 | +-- -------------------------------------------------------- | |
377 | + | |
378 | +-- | |
379 | +-- Structure de la table `organismes` | |
380 | +-- | |
381 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
382 | +-- | |
383 | + | |
384 | +CREATE TABLE IF NOT EXISTS `organismes` ( | |
385 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
386 | + `nom` varchar(50) DEFAULT NULL, | |
387 | + PRIMARY KEY (`id`) | |
388 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; | |
389 | + | |
390 | +-- -------------------------------------------------------- | |
391 | + | |
392 | +-- | |
393 | +-- Structure de la table `sites` | |
394 | +-- | |
395 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
396 | +-- | |
397 | + | |
398 | +CREATE TABLE IF NOT EXISTS `sites` ( | |
399 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
400 | + `nom` varchar(50) DEFAULT NULL, | |
401 | + PRIMARY KEY (`id`) | |
402 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; | |
403 | + | |
404 | +-- -------------------------------------------------------- | |
405 | + | |
406 | +-- | |
407 | +-- Structure de la table `sous_categories` | |
408 | +-- | |
409 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
410 | +-- | |
411 | + | |
412 | +CREATE TABLE IF NOT EXISTS `sous_categories` ( | |
413 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
414 | + `nom` varchar(45) NOT NULL, | |
415 | + `categorie_id` int(11) NOT NULL, | |
416 | + PRIMARY KEY (`id`), | |
417 | + KEY `category_id` (`categorie_id`) | |
418 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ; | |
419 | + | |
420 | +-- | |
421 | +-- RELATIONS POUR LA TABLE `sous_categories`: | |
422 | +-- `categorie_id` | |
423 | +-- `categories` -> `id` | |
424 | +-- | |
425 | + | |
426 | +-- -------------------------------------------------------- | |
427 | + | |
428 | +-- | |
429 | +-- Structure de la table `suivis` | |
430 | +-- | |
431 | +-- Création: Ven 02 Juin 2017 à 15:18 | |
432 | +-- | |
433 | + | |
434 | +CREATE TABLE IF NOT EXISTS `suivis` ( | |
435 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
436 | + `materiel_id` int(11) NOT NULL, | |
437 | + `date_controle` date DEFAULT NULL, | |
438 | + `date_prochain_controle` date DEFAULT NULL, | |
439 | + `type_suivi_id` int(11) DEFAULT NULL, | |
440 | + `organisme` varchar(50) DEFAULT NULL, | |
441 | + `frequence` int(11) DEFAULT NULL, | |
442 | + `type_frequence` varchar(30) DEFAULT NULL, | |
443 | + `commentaire` varchar(100) DEFAULT NULL, | |
444 | + `panne_resolu` tinyint(1) DEFAULT '1', | |
445 | + `groupes_thematique_id` int(11) DEFAULT NULL, | |
446 | + `groupes_metier_id` int(11) DEFAULT NULL, | |
447 | + `statut` varchar(30) DEFAULT 'En cours', | |
448 | + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', | |
449 | + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', | |
450 | + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', | |
451 | + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', | |
452 | + `unite_id` int(11) DEFAULT NULL, | |
453 | + `plage_debut` double DEFAULT NULL, | |
454 | + `plage_fin` double DEFAULT NULL, | |
455 | + `resolution` double DEFAULT NULL, | |
456 | + `tolerance` double DEFAULT NULL, | |
457 | + `sensibilite` double DEFAULT NULL, | |
458 | + `justesse` double DEFAULT NULL, | |
459 | + `fidelite` double DEFAULT NULL, | |
460 | + `typemesure` varchar(45) DEFAULT 'Direct', | |
461 | + `emtstandart` double DEFAULT NULL, | |
462 | + `symbole` varchar(45) DEFAULT NULL, | |
463 | + `nommesure` varchar(45) DEFAULT NULL, | |
464 | + `valeurRef` double DEFAULT NULL, | |
465 | + `intitule` varchar(100) DEFAULT NULL, | |
466 | + `conforme` varchar(100) DEFAULT NULL, | |
467 | + `formule_id` int(11) DEFAULT NULL, | |
468 | + PRIMARY KEY (`id`), | |
469 | + KEY `fk_admi_material_histories_admi_materials1` (`materiel_id`), | |
470 | + KEY `fk_suivis_type_suivi_id` (`type_suivi_id`), | |
471 | + KEY `fk_suivis_groupe_thematique` (`groupes_thematique_id`), | |
472 | + KEY `fk_suivis_groupe_metier` (`groupes_metier_id`), | |
473 | + KEY `fk_suivis_unite_id_idx` (`unite_id`), | |
474 | + KEY `fk_suivis_formule_id_idx` (`formule_id`) | |
475 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; | |
476 | + | |
477 | +-- | |
478 | +-- RELATIONS POUR LA TABLE `suivis`: | |
479 | +-- `materiel_id` | |
480 | +-- `materiels` -> `id` | |
481 | +-- `formule_id` | |
482 | +-- `formules` -> `id` | |
483 | +-- `groupes_metier_id` | |
484 | +-- `groupes_metiers` -> `id` | |
485 | +-- `groupes_thematique_id` | |
486 | +-- `groupes_thematiques` -> `id` | |
487 | +-- `type_suivi_id` | |
488 | +-- `type_suivis` -> `id` | |
489 | +-- `unite_id` | |
490 | +-- `unites` -> `id` | |
491 | +-- | |
492 | + | |
493 | +-- -------------------------------------------------------- | |
494 | + | |
495 | +-- | |
496 | +-- Structure de la table `sur_categories` | |
497 | +-- | |
498 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
499 | +-- | |
500 | + | |
501 | +CREATE TABLE IF NOT EXISTS `sur_categories` ( | |
502 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
503 | + `nom` varchar(45) NOT NULL, | |
504 | + PRIMARY KEY (`id`), | |
505 | + UNIQUE KEY `nom_UNIQUE` (`nom`) | |
506 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; | |
507 | + | |
508 | +-- -------------------------------------------------------- | |
509 | + | |
510 | +-- | |
511 | +-- Structure de la table `type_documents` | |
512 | +-- | |
513 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
514 | +-- | |
515 | + | |
516 | +CREATE TABLE IF NOT EXISTS `type_documents` ( | |
517 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
518 | + `nom` varchar(100) DEFAULT NULL, | |
519 | + PRIMARY KEY (`id`) | |
520 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ; | |
521 | + | |
522 | +-- -------------------------------------------------------- | |
523 | + | |
524 | +-- | |
525 | +-- Structure de la table `type_suivis` | |
526 | +-- | |
527 | +-- Création: Mar 02 Mai 2017 à 15:27 | |
528 | +-- | |
529 | + | |
530 | +CREATE TABLE IF NOT EXISTS `type_suivis` ( | |
531 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
532 | + `nom` varchar(50) DEFAULT NULL, | |
533 | + PRIMARY KEY (`id`) | |
534 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; | |
535 | + | |
536 | +-- -------------------------------------------------------- | |
537 | + | |
538 | +-- | |
539 | +-- Structure de la table `unites` | |
540 | +-- | |
541 | +-- Création: Ven 02 Juin 2017 à 14:54 | |
542 | +-- | |
543 | + | |
544 | +CREATE TABLE IF NOT EXISTS `unites` ( | |
545 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
546 | + `nom` varchar(45) DEFAULT NULL, | |
547 | + `symbole` varchar(45) DEFAULT NULL, | |
548 | + PRIMARY KEY (`id`) | |
549 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
550 | + | |
551 | +-- -------------------------------------------------------- | |
552 | + | |
553 | +-- | |
554 | +-- Structure de la table `users` | |
555 | +-- | |
556 | +-- Création: Ven 02 Juin 2017 à 15:18 | |
557 | +-- | |
558 | + | |
559 | +CREATE TABLE IF NOT EXISTS `users` ( | |
560 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
561 | + `nom` varchar(45) DEFAULT NULL, | |
562 | + `username` varchar(45) DEFAULT NULL, | |
563 | + `password` varchar(255) DEFAULT NULL, | |
564 | + `email` varchar(45) DEFAULT NULL, | |
565 | + `role` varchar(45) DEFAULT NULL, | |
566 | + `groupes_metier_id` int(11) DEFAULT NULL, | |
567 | + `groupe_thematique_id` int(11) DEFAULT NULL, | |
568 | + `sur_categorie_id` int(11) DEFAULT NULL, | |
569 | + PRIMARY KEY (`id`), | |
570 | + UNIQUE KEY `username_UNIQUE` (`username`), | |
571 | + KEY `fk_users_groupes_travails1` (`groupes_metier_id`), | |
572 | + KEY `fk_users_groupe_thematique_id` (`groupe_thematique_id`), | |
573 | + KEY `fk_users_sur_categories_id_idx` (`sur_categorie_id`) | |
574 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=36 ; | |
575 | + | |
576 | +-- | |
577 | +-- RELATIONS POUR LA TABLE `users`: | |
578 | +-- `groupes_metier_id` | |
579 | +-- `groupes_metiers` -> `id` | |
580 | +-- `groupe_thematique_id` | |
581 | +-- `groupes_thematiques` -> `id` | |
582 | +-- `sur_categorie_id` | |
583 | +-- `sur_categories` -> `id` | |
584 | +-- | |
585 | + | |
586 | +-- -------------------------------------------------------- | |
587 | + | |
588 | +-- | |
589 | +-- Structure de la table `variables` | |
590 | +-- | |
591 | +-- Création: Ven 02 Juin 2017 à 15:18 | |
592 | +-- | |
593 | + | |
594 | +CREATE TABLE IF NOT EXISTS `variables` ( | |
595 | + `id` int(11) NOT NULL AUTO_INCREMENT, | |
596 | + `formule_id` int(11) DEFAULT NULL, | |
597 | + `symbolegrandeurphysique` varchar(45) DEFAULT NULL, | |
598 | + `symboleunitemesure` varchar(45) DEFAULT NULL, | |
599 | + `nomgrandeurphysique` varchar(45) DEFAULT NULL, | |
600 | + `domainedef` varchar(45) DEFAULT NULL, | |
601 | + `derivepartielle` varchar(100) DEFAULT 'F', | |
602 | + PRIMARY KEY (`id`), | |
603 | + KEY `fk_variables_formule_id_idx` (`formule_id`) | |
604 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | |
605 | + | |
606 | +-- | |
607 | +-- RELATIONS POUR LA TABLE `variables`: | |
608 | +-- `formule_id` | |
609 | +-- `formules` -> `id` | |
610 | +-- | |
611 | + | |
612 | +-- | |
613 | +-- Contraintes pour les tables exportées | |
614 | +-- | |
615 | + | |
616 | +-- | |
617 | +-- Contraintes pour la table `categories` | |
618 | +-- | |
619 | +ALTER TABLE `categories` | |
620 | + ADD CONSTRAINT `fk_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
621 | + | |
622 | +-- | |
623 | +-- Contraintes pour la table `documents` | |
624 | +-- | |
625 | +ALTER TABLE `documents` | |
626 | + ADD CONSTRAINT `fk_documents_materiel_id` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
627 | + ADD CONSTRAINT `fk_documents_suivi_id` FOREIGN KEY (`suivi_id`) REFERENCES `suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
628 | + ADD CONSTRAINT `fk_documents_type_documents_id` FOREIGN KEY (`type_document_id`) REFERENCES `type_documents` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
629 | + | |
630 | +-- | |
631 | +-- Contraintes pour la table `emprunts` | |
632 | +-- | |
633 | +ALTER TABLE `emprunts` | |
634 | + ADD CONSTRAINT `fk_emprunts_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
635 | + ADD CONSTRAINT `fk_technical_materials_internal_loans_copy1_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
636 | + | |
637 | +-- | |
638 | +-- Contraintes pour la table `fichemetrologiques` | |
639 | +-- | |
640 | +ALTER TABLE `fichemetrologiques` | |
641 | + ADD CONSTRAINT `fk_fichemetrologique_suivi_id` FOREIGN KEY (`suivi_id`) REFERENCES `suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
642 | + | |
643 | +-- | |
644 | +-- Contraintes pour la table `materiels` | |
645 | +-- | |
646 | +ALTER TABLE `materiels` | |
647 | + ADD CONSTRAINT `fk_administrative_materials_sub_categories1` FOREIGN KEY (`sous_categorie_id`) REFERENCES `sous_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
648 | + ADD CONSTRAINT `fk_materials_thematic_group1` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
649 | + ADD CONSTRAINT `fk_materials_work_group1` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
650 | + ADD CONSTRAINT `fk_materiels_categories1` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
651 | + ADD CONSTRAINT `fk_materiels_organisme_id` FOREIGN KEY (`organisme_id`) REFERENCES `organismes` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
652 | + ADD CONSTRAINT `fk_materiels_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
653 | + ADD CONSTRAINT `fk_materiels_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
654 | + | |
655 | +-- | |
656 | +-- Contraintes pour la table `mesures` | |
657 | +-- | |
658 | +ALTER TABLE `mesures` | |
659 | + ADD CONSTRAINT `fk_mesures_fichemetrologique_id` FOREIGN KEY (`fichemetrologique_id`) REFERENCES `fichemetrologiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
660 | + | |
661 | +-- | |
662 | +-- Contraintes pour la table `sous_categories` | |
663 | +-- | |
664 | +ALTER TABLE `sous_categories` | |
665 | + ADD CONSTRAINT `category_id` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
666 | + | |
667 | +-- | |
668 | +-- Contraintes pour la table `suivis` | |
669 | +-- | |
670 | +ALTER TABLE `suivis` | |
671 | + ADD CONSTRAINT `fk_admi_material_histories_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
672 | + ADD CONSTRAINT `fk_suivis_formule_id` FOREIGN KEY (`formule_id`) REFERENCES `formules` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
673 | + ADD CONSTRAINT `fk_suivis_groupe_metier` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
674 | + ADD CONSTRAINT `fk_suivis_groupe_thematique` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
675 | + ADD CONSTRAINT `fk_suivis_type_suivi_id` FOREIGN KEY (`type_suivi_id`) REFERENCES `type_suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
676 | + ADD CONSTRAINT `fk_suivis_unite_id` FOREIGN KEY (`unite_id`) REFERENCES `unites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
677 | + | |
678 | +-- | |
679 | +-- Contraintes pour la table `users` | |
680 | +-- | |
681 | +ALTER TABLE `users` | |
682 | + ADD CONSTRAINT `fk_users_groupes_travails1` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
683 | + ADD CONSTRAINT `fk_users_groupe_thematique_id` FOREIGN KEY (`groupe_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
684 | + ADD CONSTRAINT `fk_users_sur_categories_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
685 | + | |
686 | +-- | |
687 | +-- Contraintes pour la table `variables` | |
688 | +-- | |
689 | +ALTER TABLE `variables` | |
690 | + ADD CONSTRAINT `fk_variables_formule_id` FOREIGN KEY (`formule_id`) REFERENCES `formules` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; | |
691 | + | |
692 | +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; | |
693 | +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; | |
694 | +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | ... | ... |
... | ... | @@ -0,0 +1,32 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente | |
4 | +# Il faut donc executer ce script comme ceci : | |
5 | +# ./macos-db-update.sh ce_script.sh | |
6 | + | |
7 | +if [ ! -f ../../config/app.php ] ; then | |
8 | +echo "Vous devez executer ce script depuis le dossier database/update/" | |
9 | +exit 1 | |
10 | +fi | |
11 | + | |
12 | + | |
13 | +# Get login, pass, dbname, and hostname | |
14 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) | |
15 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) | |
16 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) | |
17 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) | |
18 | + | |
19 | + | |
20 | +cp -p ./script_sql/db-update-2017-06-09.sql ./script_sql/db-update-2017-06-09-build.sql | |
21 | + | |
22 | +# Execute sql update script | |
23 | +sed -e "s/database/$database/" -i ./script_sql/db-update-2017-06-09-build.sql | |
24 | +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2017-06-09-build.sql | |
25 | + | |
26 | +# Delete cakephp cache | |
27 | +sudo rm ../../tmp/cache/models/* | |
28 | +sudo rm ../../tmp/cache/persistent/* | |
29 | + | |
30 | +sudo chmod -R 777 ../../tmp | |
31 | +sudo chmod -R 777 ../../vendor | |
32 | +sudo chmod -R 777 ../../webroot | ... | ... |
database/update/script_sql/db-update-2017-05-22.sql
install/installation.sh
... | ... | @@ -137,7 +137,7 @@ echo "Mise à jour des droits des dossiers..." |
137 | 137 | # 1) POUR LES QRCODES |
138 | 138 | # Ajouter les droits en ecriture pour la creation des qrcodes |
139 | 139 | # phpqrcode write its errors into its folder ... |
140 | -chmod -R 775 ./vendor/phpqrcode/ | |
140 | +sudo chmod -R 775 ./vendor/phpqrcode/ | |
141 | 141 | touch ./vendor/phpqrcode/errors.txt |
142 | 142 | chmod 775 ./vendor/phpqrcode/errors.txt |
143 | 143 | sudo chgrp -R $grp ./vendor/phpqrcode/ | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -391,6 +391,21 @@ class MaterielsController extends AppController { |
391 | 391 | $materiel = $this->Materiels->newEntity(); |
392 | 392 | if ($this->request->is('post')) { |
393 | 393 | $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); |
394 | + if (in_array($_SESSION['Auth']['User']['sn'][0], TableRegistry::get('Users')->find('list', [ | |
395 | + 'keyField' => 'id', | |
396 | + 'valueField' => 'nom' | |
397 | + ]) | |
398 | + ->where([ | |
399 | + 'role =' => 'Administration' | |
400 | + ]) | |
401 | + ->toArray())) { | |
402 | + $gestionnaireID = TableRegistry::get('Users')->find() | |
403 | + ->where([ | |
404 | + 'nom' => $_SESSION['Auth']['User']['sn'][0] | |
405 | + ]) | |
406 | + ->first()->id; | |
407 | + $materiel->gestionnaire_id = $gestionnaireID; | |
408 | + } | |
394 | 409 | if ($this->Materiels->save($materiel)) { |
395 | 410 | $this->Flash->success(__('Le matériel a bien été ajouté.')); |
396 | 411 | |
... | ... | @@ -521,6 +536,21 @@ class MaterielsController extends AppController { |
521 | 536 | 'put' |
522 | 537 | ])) { |
523 | 538 | $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); |
539 | + if (in_array($_SESSION['Auth']['User']['sn'][0], TableRegistry::get('Users')->find('list', [ | |
540 | + 'keyField' => 'id', | |
541 | + 'valueField' => 'nom' | |
542 | + ]) | |
543 | + ->where([ | |
544 | + 'role =' => 'Administration' | |
545 | + ]) | |
546 | + ->toArray())) { | |
547 | + $gestionnaireID = TableRegistry::get('Users')->find() | |
548 | + ->where([ | |
549 | + 'nom' => $_SESSION['Auth']['User']['sn'][0] | |
550 | + ]) | |
551 | + ->first()->id; | |
552 | + $materiel->gestionnaire_id = $gestionnaireID; | |
553 | + } | |
524 | 554 | if ($this->Materiels->save($materiel)) { |
525 | 555 | $this->Flash->success(__('Le matériel a bien été édité.')); |
526 | 556 | $this->sendEmail($materiel); |
... | ... | @@ -869,6 +899,21 @@ class MaterielsController extends AppController { |
869 | 899 | */ |
870 | 900 | public function statusValidated($id = null, $from = 'index') { |
871 | 901 | $this->statusSetTo('VALIDATED', 'Le matériel a bien été validé', $id, $from); |
902 | + if (in_array($_SESSION['Auth']['User']['sn'][0], TableRegistry::get('Users')->find('list', [ | |
903 | + 'keyField' => 'id', | |
904 | + 'valueField' => 'nom' | |
905 | + ]) | |
906 | + ->where([ | |
907 | + 'role =' => 'Administration' | |
908 | + ]) | |
909 | + ->toArray())) { | |
910 | + $gestionnaireID = TableRegistry::get('Users')->find() | |
911 | + ->where([ | |
912 | + 'nom' => $_SESSION['Auth']['User']['sn'][0] | |
913 | + ]) | |
914 | + ->first()->id; | |
915 | + $materiel->gestionnaire_id = $gestionnaireID; | |
916 | + } | |
872 | 917 | $this->sendEmail($this->Materiels->get($id)); |
873 | 918 | } |
874 | 919 | |
... | ... | @@ -1100,25 +1145,25 @@ class MaterielsController extends AppController { |
1100 | 1145 | |
1101 | 1146 | switch ($matostype) { |
1102 | 1147 | // Administratif |
1103 | - case 'A': | |
1148 | + case 'A' : | |
1104 | 1149 | $matostypeRequest['Materiels.materiel_administratif ='] = '1'; |
1105 | 1150 | break; |
1106 | 1151 | // Technique |
1107 | - case 'T': | |
1152 | + case 'T' : | |
1108 | 1153 | $matostypeRequest['Materiels.materiel_technique ='] = '1'; |
1109 | 1154 | break; |
1110 | 1155 | // Admin et Tech |
1111 | - case 'AT': | |
1156 | + case 'AT' : | |
1112 | 1157 | $matostypeRequest['Materiels.materiel_administratif ='] = '1'; |
1113 | 1158 | $matostypeRequest['Materiels.materiel_technique ='] = '1'; |
1114 | 1159 | break; |
1115 | 1160 | // Admin ONLY |
1116 | - case 'AO': | |
1161 | + case 'AO' : | |
1117 | 1162 | $matostypeRequest['Materiels.materiel_administratif ='] = '1'; |
1118 | 1163 | $matostypeRequest['Materiels.materiel_technique ='] = '0'; |
1119 | 1164 | break; |
1120 | 1165 | // Tech ONLY |
1121 | - case 'TO': | |
1166 | + case 'TO' : | |
1122 | 1167 | $matostypeRequest['Materiels.materiel_administratif ='] = '0'; |
1123 | 1168 | $matostypeRequest['Materiels.materiel_technique ='] = '1'; |
1124 | 1169 | break; |
... | ... | @@ -1264,13 +1309,13 @@ else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && |
1264 | 1309 | foreach ($this->request->data as $id => $value) : |
1265 | 1310 | if ($value == 1) { |
1266 | 1311 | switch ($what) { |
1267 | - case 'CREATED': | |
1312 | + case 'CREATED' : | |
1268 | 1313 | $new = 'VALIDATED'; |
1269 | 1314 | break; |
1270 | - case 'VALIDATED': | |
1315 | + case 'VALIDATED' : | |
1271 | 1316 | $new = 'TOBEARCHIVED'; |
1272 | 1317 | break; |
1273 | - case 'TOBEARCHIVED': | |
1318 | + case 'TOBEARCHIVED' : | |
1274 | 1319 | $new = 'ARCHIVED'; |
1275 | 1320 | break; |
1276 | 1321 | } |
... | ... | @@ -1945,10 +1990,10 @@ else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && |
1945 | 1990 | $date_next = date_create_from_format('d-m-Y', $date); |
1946 | 1991 | |
1947 | 1992 | switch ($unite) { |
1948 | - case "Mois": | |
1993 | + case "Mois" : | |
1949 | 1994 | date_add($date_next, date_interval_create_from_date_string($duree . ' months')); |
1950 | 1995 | break; |
1951 | - case "Ans": | |
1996 | + case "Ans" : | |
1952 | 1997 | date_add($date_next, date_interval_create_from_date_string($duree . ' years')); |
1953 | 1998 | break; |
1954 | 1999 | } | ... | ... |
src/Controller/SuivisController.php
... | ... | @@ -28,12 +28,9 @@ class SuivisController extends AppController { |
28 | 28 | 'username' => $user[$configuration->authentificationType_ldap][0] |
29 | 29 | ]) |
30 | 30 | ->first()['role']; |
31 | - | |
32 | 31 | $action = $this->request->params['action']; |
33 | - | |
34 | 32 | if ($this->userHasRole('Administration')) |
35 | 33 | return true; |
36 | - | |
37 | 34 | // Pour un "utilisateur" |
38 | 35 | if (in_array($action, [ |
39 | 36 | 'edit', |
... | ... | @@ -45,7 +42,6 @@ class SuivisController extends AppController { |
45 | 42 | if ($role == 'Responsable' && $this->isRespGroup($id, $user[$configuration->authentificationType_ldap][0])) |
46 | 43 | return true; |
47 | 44 | } |
48 | - | |
49 | 45 | return parent::isAuthorized($user); |
50 | 46 | } |
51 | 47 | |
... | ... | @@ -62,7 +58,6 @@ class SuivisController extends AppController { |
62 | 58 | 'username' => $loginResponsable |
63 | 59 | ]) |
64 | 60 | ->first(); |
65 | - | |
66 | 61 | if (isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find() |
67 | 62 | ->where([ |
68 | 63 | 'nom =' => 'N/A' |
... | ... | @@ -93,10 +88,8 @@ class SuivisController extends AppController { |
93 | 88 | */ |
94 | 89 | public function index() { |
95 | 90 | $condition = ''; |
96 | - | |
97 | 91 | $GM = $this->request->query('GM'); |
98 | 92 | $GT = $this->request->query('GT'); |
99 | - | |
100 | 93 | if (isset($GM) || isset($GT)) { |
101 | 94 | if (isset($GM) && $GM != TableRegistry::get('GroupesMetiers')->find() |
102 | 95 | ->where([ |
... | ... | @@ -120,7 +113,6 @@ class SuivisController extends AppController { |
120 | 113 | ]; |
121 | 114 | } |
122 | 115 | } |
123 | - | |
124 | 116 | $this->paginate = [ |
125 | 117 | 'contain' => [ |
126 | 118 | 'Materiels', |
... | ... | @@ -130,12 +122,10 @@ class SuivisController extends AppController { |
130 | 122 | $suivis = $this->paginate($this->Suivis->find('all', [ |
131 | 123 | 'conditions' => $condition |
132 | 124 | ])); |
133 | - | |
134 | 125 | $this->set('nbSuivis', $this->Suivis->find('all', [ |
135 | 126 | 'conditions' => $condition |
136 | 127 | ]) |
137 | 128 | ->count()); |
138 | - | |
139 | 129 | $this->set(compact('suivis')); |
140 | 130 | $this->set('_serialize', [ |
141 | 131 | 'suivis' |
... | ... | @@ -169,12 +159,10 @@ class SuivisController extends AppController { |
169 | 159 | ], |
170 | 160 | 'order' => ('id DESC') |
171 | 161 | ]); |
172 | - | |
173 | 162 | if (! isset($fichemet)) |
174 | 163 | $fiche = $fichemet->first(); |
175 | 164 | else |
176 | 165 | $fiche = null; |
177 | - | |
178 | 166 | $this->set('typeDocuments', $typeDocuments); |
179 | 167 | $this->set('suivi', $suivi); |
180 | 168 | $this->set('fiche', $fiche); |
... | ... | @@ -229,14 +217,12 @@ class SuivisController extends AppController { |
229 | 217 | ]) |
230 | 218 | ->first()['metrologie']; |
231 | 219 | $variables = TableRegistry::get('Variables')->find('list')->toArray(); |
232 | - | |
233 | 220 | $materiel = $this->Suivis->Materiels->find() |
234 | 221 | ->where([ |
235 | 222 | 'id =' => $this->request->params['pass'][0] |
236 | 223 | ]) |
237 | 224 | ->first(); |
238 | 225 | // $domaineresp= TableRegistry::get('Users')->find()->select('sur_categorie_id')->where(['username =' => $this->LdapAuth->user($this->request->session()->read('authType'))[0]])->first()['sur_categorie_id']; |
239 | - | |
240 | 226 | if ($metro == 1) { |
241 | 227 | $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ |
242 | 228 | 'keyField' => 'id', |
... | ... | @@ -248,15 +234,7 @@ class SuivisController extends AppController { |
248 | 234 | 'valueField' => 'nom', |
249 | 235 | 'conditions' => [ |
250 | 236 | 'AND' => [ |
251 | - [ | |
252 | - 'nom !=' => 'Etalonnage interne' | |
253 | - ], | |
254 | - [ | |
255 | - 'nom !=' => 'Etalonnage externe' | |
256 | - ], | |
257 | - [ | |
258 | - 'nom !=' => 'Vérification métrologique' | |
259 | - ] | |
237 | + 'nom !=' => 'Vérification métrologique' | |
260 | 238 | ] |
261 | 239 | ] |
262 | 240 | ]); |
... | ... | @@ -278,7 +256,6 @@ class SuivisController extends AppController { |
278 | 256 | $domaineresp = true; |
279 | 257 | else |
280 | 258 | $domaineresp = false; |
281 | - | |
282 | 259 | $groupesThematiques = $this->Suivis->GroupesThematiques->find('list', [ |
283 | 260 | 'keyField' => 'id', |
284 | 261 | 'valueField' => 'nom', |
... | ... | @@ -289,7 +266,6 @@ class SuivisController extends AppController { |
289 | 266 | 'valueField' => 'nom', |
290 | 267 | 'order' => 'GroupesMetiers.nom' |
291 | 268 | ]); |
292 | - | |
293 | 269 | $this->set(compact('variables', 'formule', 'formules', 'unite', 'domaineresp', 'suivi', 'materiels', 'typeSuivis', 'materiel', 'groupesThematiques', 'groupesMetiers')); |
294 | 270 | $this->set('_serialize', [ |
295 | 271 | 'suivi' |
... | ... | @@ -334,7 +310,6 @@ class SuivisController extends AppController { |
334 | 310 | 'keyfield' => 'id', |
335 | 311 | 'valueField' => 'nom' |
336 | 312 | ]); |
337 | - | |
338 | 313 | $numMateriel = $this->Suivis->Materiels->find() |
339 | 314 | ->select('numero_laboratoire') |
340 | 315 | ->where([ |
... | ... | @@ -347,12 +322,10 @@ class SuivisController extends AppController { |
347 | 322 | 'id =' => $suivi->materiel_id |
348 | 323 | ]) |
349 | 324 | ->first()['metrologie']; |
350 | - | |
351 | 325 | $typeSuivis = $this->Suivis->TypeSuivis->find('list', [ |
352 | 326 | 'keyField' => 'id', |
353 | 327 | 'valueField' => 'nom' |
354 | 328 | ]); |
355 | - | |
356 | 329 | $groupesThematiques = $this->Suivis->GroupesThematiques->find('list', [ |
357 | 330 | 'keyField' => 'id', |
358 | 331 | 'valueField' => 'nom', |
... | ... | @@ -404,7 +377,6 @@ class SuivisController extends AppController { |
404 | 377 | $domaineresp = true; |
405 | 378 | else |
406 | 379 | $domaineresp = false; |
407 | - | |
408 | 380 | $this->set(compact('unite', 'metro', 'domaineresp', 'suivi', 'materiel', 'materiels', 'typeSuivis', 'numMateriel', 'groupesThematiques', 'groupesMetiers')); |
409 | 381 | $this->set('_serialize', [ |
410 | 382 | 'suivi' |
... | ... | @@ -481,14 +453,10 @@ class SuivisController extends AppController { |
481 | 453 | ]); |
482 | 454 | $s_type_suivis = $this->Suivis->TypeSuivis; |
483 | 455 | $materiels = $this->Suivis->Materiels; |
484 | - | |
485 | 456 | $this->set(compact('s_groupes_thematiques', 's_groupes_metiers', 's_type_suivis', 'materiels')); |
486 | - | |
487 | 457 | $resultTri = $this->request->session()->read("resultTri"); |
488 | - | |
489 | 458 | if ($this->request->is('post')) { |
490 | 459 | $specificFieldsConditions = NULL; |
491 | - | |
492 | 460 | $periode_interventionRequest = NULL; |
493 | 461 | $date_intervention = NULL; |
494 | 462 | if ($this->request->data['s_periode_controle1'] != '') |
... | ... | @@ -497,7 +465,6 @@ class SuivisController extends AppController { |
497 | 465 | $periode_interventionRequest['Suivis.date_controle <='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_periode_controle2']))); |
498 | 466 | if ($this->request->data['s_date_controle'] != '') |
499 | 467 | $date_intervention['Suivis.date_controle ='] = date('Y-m-d', strtotime(str_replace('/', '-', $this->request->data['s_date_controle']))); |
500 | - | |
501 | 468 | $specificFieldsConditions = [ |
502 | 469 | $date_intervention, |
503 | 470 | $periode_interventionRequest, |
... | ... | @@ -507,13 +474,11 @@ class SuivisController extends AppController { |
507 | 474 | $this->getConditionForFieldNumber('groupes_metier_id'), |
508 | 475 | $this->getConditionForFieldNumber('groupes_thematique_id') |
509 | 476 | ]; |
510 | - | |
511 | 477 | // CONSTRUCTION DE LA REQUETE SQL COMPLETE = $specificFieldsConditions |
512 | 478 | // by default, no sort |
513 | 479 | $lastResults = $this->Suivis->find('all', [ |
514 | 480 | 'conditions' => $specificFieldsConditions |
515 | 481 | ]); |
516 | - | |
517 | 482 | $this->paginate = [ |
518 | 483 | 'limit' => 1000 |
519 | 484 | ]; |
... | ... | @@ -522,7 +487,6 @@ class SuivisController extends AppController { |
522 | 487 | } // end if() |
523 | 488 | else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && strstr($this->request->here(), 'direction') != false) { |
524 | 489 | $findedSuivis = []; |
525 | - | |
526 | 490 | foreach ($resultTri as $r) { |
527 | 491 | array_push($findedSuivis, $r->id); |
528 | 492 | } |
... | ... | @@ -534,7 +498,6 @@ else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && |
534 | 498 | 'id =' => $findedSuivis[$i] |
535 | 499 | ]); |
536 | 500 | } |
537 | - | |
538 | 501 | $this->paginate = [ |
539 | 502 | 'limit' => 1000 |
540 | 503 | ]; |
... | ... | @@ -552,26 +515,22 @@ else if (isset($resultTri) && strstr($this->request->here(), 'sort') != false && |
552 | 515 | $frequence = $frequenceORmois; |
553 | 516 | $typeFrequence = $typeFrequenceORannee; |
554 | 517 | } |
555 | - | |
556 | 518 | $date_next = date_create_from_format('d-m-Y', $date); |
557 | - | |
558 | 519 | switch ($typeFrequence) { |
559 | - case "Jours": | |
520 | + case "Jours" : | |
560 | 521 | date_add($date_next, date_interval_create_from_date_string($frequence . ' days')); |
561 | 522 | break; |
562 | - case "Semaines": | |
523 | + case "Semaines" : | |
563 | 524 | date_add($date_next, date_interval_create_from_date_string((7 * $frequence) . ' days')); |
564 | 525 | break; |
565 | - case "Mois": | |
526 | + case "Mois" : | |
566 | 527 | date_add($date_next, date_interval_create_from_date_string($frequence . ' months')); |
567 | 528 | break; |
568 | - case "Ans": | |
529 | + case "Ans" : | |
569 | 530 | date_add($date_next, date_interval_create_from_date_string($frequence . ' years')); |
570 | 531 | break; |
571 | 532 | } |
572 | - | |
573 | 533 | $this->set('date', date_format($date_next, 'd-m-Y')); |
574 | - | |
575 | 534 | $this->viewBuilder()->layout = 'ajax'; |
576 | 535 | } |
577 | 536 | } | ... | ... |
src/Model/Table/MaterielsTable.php
... | ... | @@ -42,13 +42,10 @@ class MaterielsTable extends AppTable { |
42 | 42 | */ |
43 | 43 | public function initialize(array $config) { |
44 | 44 | parent::initialize($config); |
45 | - | |
46 | 45 | $this->table('materiels'); |
47 | 46 | $this->displayField('id'); |
48 | 47 | $this->primaryKey('id'); |
49 | - | |
50 | 48 | $this->addBehavior('Timestamp'); |
51 | - | |
52 | 49 | $this->belongsTo('SurCategories', [ |
53 | 50 | 'foreignKey' => 'sur_categorie_id' |
54 | 51 | ]); |
... | ... | @@ -93,38 +90,29 @@ class MaterielsTable extends AppTable { |
93 | 90 | */ |
94 | 91 | public function validationDefault(Validator $validator) { |
95 | 92 | $validator->integer('id')->allowEmpty('id', 'create'); |
96 | - | |
97 | 93 | $validator->notEmpty('designation', 'Ce champ doit être rempli')->add('designation', 'valid', [ |
98 | 94 | 'rule' => 'check_string', |
99 | 95 | 'message' => 'Ce champ contient des caractères interdits', |
100 | 96 | 'provider' => 'table' |
101 | 97 | ]); |
102 | - | |
103 | 98 | $validator->notEmpty('sur_categorie_id', 'Vous devez sélectionner une valeur'); |
104 | - | |
105 | 99 | $validator->notEmpty('categorie_id', 'Vous devez sélectionner une valeur'); |
106 | - | |
107 | 100 | $validator->allowEmpty('numero_laboratoire')->add('numero_laboratoire', 'unique', [ |
108 | 101 | 'rule' => 'validateUnique', |
109 | 102 | 'provider' => 'table' |
110 | 103 | ]); |
111 | - | |
112 | 104 | $validator->allowEmpty('description')->add('description', 'valid', [ |
113 | 105 | 'rule' => 'check_string_with_some_special_cars', |
114 | 106 | 'message' => 'Ce champ contient des caractères interdits', |
115 | 107 | 'provider' => 'table' |
116 | 108 | ]); |
117 | - | |
118 | 109 | $validator->boolean('materiel_administratif')->allowEmpty('materiel_administratif'); |
119 | - | |
120 | 110 | $validator->boolean('materiel_technique')->allowEmpty('materiel_technique'); |
121 | - | |
122 | 111 | $validator->add('status', 'valid', [ |
123 | 112 | 'rule' => 'checkStatus', |
124 | 113 | 'message' => 'Le statut doit prendre une des 4 valeurs CREATED, VALIDATED, TOBEARCHIVED, ou ARCHIVED', |
125 | 114 | 'provider' => 'table' |
126 | 115 | ]); |
127 | - | |
128 | 116 | $configuration = TableRegistry::get('Configurations')->find() |
129 | 117 | ->where([ |
130 | 118 | 'id =' => 1 |
... | ... | @@ -135,13 +123,11 @@ class MaterielsTable extends AppTable { |
135 | 123 | } else { |
136 | 124 | $validator->notEmpty('date_acquisition', 'Ce champ doit être rempli'); |
137 | 125 | } |
138 | - | |
139 | 126 | $validator->allowEmpty('fournisseur')->add('fournisseur', 'valid', [ |
140 | 127 | 'rule' => 'check_string', |
141 | 128 | 'message' => 'Ce champ contient des caractères interdits', |
142 | 129 | 'provider' => 'table' |
143 | 130 | ]); |
144 | - | |
145 | 131 | $validator->numeric('prix_ht') |
146 | 132 | ->allowEmpty('prix_ht') |
147 | 133 | ->add('prix_ht', 'valid', [ |
... | ... | @@ -149,84 +135,62 @@ class MaterielsTable extends AppTable { |
149 | 135 | 'message' => 'Ce champ contient des caractères interdits', |
150 | 136 | 'provider' => 'table' |
151 | 137 | ]); |
152 | - | |
153 | 138 | $validator->allowEmpty('eotp')->add('eotp', 'valid', [ |
154 | 139 | 'rule' => 'check_string', |
155 | 140 | 'message' => 'Ce champ contient des caractères interdits', |
156 | 141 | 'provider' => 'table' |
157 | 142 | ]); |
158 | - | |
159 | 143 | $validator->allowEmpty('numero_commande')->add('numero_commande', 'valid', [ |
160 | 144 | 'rule' => 'check_string', |
161 | 145 | 'message' => 'Ce champ contient des caractères interdits', |
162 | 146 | 'provider' => 'table' |
163 | 147 | ]); |
164 | - | |
165 | 148 | $validator->allowEmpty('code_comptable')->add('code_comptable', 'valid', [ |
166 | 149 | 'rule' => 'check_string', |
167 | 150 | 'message' => 'Ce champ contient des caractères interdits', |
168 | 151 | 'provider' => 'table' |
169 | 152 | ]); |
170 | - | |
171 | 153 | $validator->allowEmpty('numero_serie')->add('numero_serie', 'valid', [ |
172 | 154 | 'rule' => 'check_string', |
173 | 155 | 'message' => 'Ce champ contient des caractères interdits', |
174 | 156 | 'provider' => 'table' |
175 | 157 | ]); |
176 | - | |
177 | 158 | $validator->allowEmpty('numero_inventaire_organisme')->add('numero_inventaire_organisme', 'valid', [ |
178 | 159 | 'rule' => 'check_string', |
179 | 160 | 'message' => 'Ce champ contient des caractères interdits', |
180 | 161 | 'provider' => 'table' |
181 | 162 | ]); |
182 | - | |
183 | 163 | $validator->allowEmpty('numero_inventaire_old')->add('numero_inventaire_old', 'valid', [ |
184 | 164 | 'rule' => 'check_string', |
185 | 165 | 'message' => 'Ce champ contient des caractères interdits', |
186 | 166 | 'provider' => 'table' |
187 | 167 | ]); |
188 | - | |
189 | 168 | $validator->allowEmpty('date_archivage'); |
190 | - | |
191 | 169 | $validator->allowEmpty('photo_id'); |
192 | - | |
193 | 170 | $validator->boolean('etiquette')->allowEmpty('etiquette'); |
194 | - | |
195 | 171 | $validator->boolean('hors_service')->allowEmpty('hors_service'); |
196 | - | |
197 | 172 | $validator-> |
198 | 173 | // ->notEmpty('site_id', 'Ce champ doit être rempli'); |
199 | 174 | allowEmpty('site_id'); |
200 | - | |
201 | 175 | $validator->allowEmpty('lieu_detail')->add('lieu_detail', 'valid', [ |
202 | 176 | 'rule' => 'check_string', |
203 | 177 | 'message' => 'Ce champ contient des caractères interdits', |
204 | 178 | 'provider' => 'table' |
205 | 179 | ]); |
206 | - | |
207 | 180 | $validator->allowEmpty('nom_responsable')->add('nom_responsable', 'valid', [ |
208 | 181 | 'rule' => 'check_string', |
209 | 182 | 'message' => 'Ce champ contient des caractères interdits', |
210 | 183 | 'provider' => 'table' |
211 | 184 | ]); |
212 | - | |
213 | 185 | $validator->allowEmpty('email_responsable')->email('email_responsable'); |
214 | - | |
215 | - $validator->allowEmpty('id_gestionnaire'); | |
216 | - // ->notEmpty('id_gestionnaire', 'Ce champ doit être rempli'); | |
217 | - | |
186 | + $validator->allowEmpty('gestionnaire_id'); | |
187 | + // ->notEmpty('gestionnaire_id', 'Ce champ doit être rempli'); | |
218 | 188 | $validator->allowEmpty('nom_createur'); |
219 | - | |
220 | 189 | $validator->allowEmpty('nom_modificateur'); |
221 | - | |
222 | 190 | $validator->allowEmpty('date_reception'); |
223 | - | |
224 | 191 | $validator->allowEmpty('date_fin_garantie'); |
225 | - | |
226 | 192 | $validator->allowEmpty('duree_garantie'); |
227 | - | |
228 | 193 | $validator->allowEmpty('unite_duree_garantie'); |
229 | - | |
230 | 194 | return $validator; |
231 | 195 | } |
232 | 196 | |
... | ... | @@ -248,11 +212,9 @@ class MaterielsTable extends AppTable { |
248 | 212 | 'id =' => 1 |
249 | 213 | ]) |
250 | 214 | ->first(); |
251 | - | |
252 | 215 | $checkAtLeastOneChecked = function ($entity) { |
253 | 216 | return ($entity->materiel_administratif || $entity->materiel_technique); |
254 | 217 | }; |
255 | - | |
256 | 218 | // return if price >= $configuration->prix_inventaire_administratif € then must be checked as "administratif" |
257 | 219 | $checkIfIsAdministratifWhenShouldBe = function ($entity) { |
258 | 220 | $configuration = TableRegistry::get('Configurations')->find() |
... | ... | @@ -262,7 +224,6 @@ class MaterielsTable extends AppTable { |
262 | 224 | ->first(); |
263 | 225 | return ! (isset($entity->prix_ht) && $entity->prix_ht >= $configuration->prix_inventaire_administratif && ! $entity->materiel_administratif); |
264 | 226 | }; |
265 | - | |
266 | 227 | // return if price <800€ then must NOT be checked as "administratif" |
267 | 228 | $checkIfIsNotAdministratifWhenShouldNotBe = function ($entity) { |
268 | 229 | $configuration = TableRegistry::get('Configurations')->find() |
... | ... | @@ -272,14 +233,12 @@ class MaterielsTable extends AppTable { |
272 | 233 | ->first(); |
273 | 234 | return ! (isset($entity->prix_ht) && $entity->prix_ht < $configuration->prix_inventaire_administratif && $entity->materiel_administratif); |
274 | 235 | }; |
275 | - | |
276 | 236 | // return if checked as "administratif" price MUST be set |
277 | 237 | $checkPriceIfIsAdministratif = function ($entity) { |
278 | 238 | if ($entity->materiel_administratif) |
279 | 239 | return (isset($entity->prix_ht)); |
280 | 240 | return true; |
281 | 241 | }; |
282 | - | |
283 | 242 | $rules->add($checkAtLeastOneChecked, [ |
284 | 243 | 'errorField' => 'materiel_administratif', |
285 | 244 | 'message' => 'Le matériel est obligatoirement inventoriable ou technique.' |
... | ... | @@ -296,7 +255,6 @@ class MaterielsTable extends AppTable { |
296 | 255 | 'errorField' => 'prix_ht', |
297 | 256 | 'message' => 'Le matériel ne peut pas être inventoriable et ne pas avoir de prix' |
298 | 257 | ]); |
299 | - | |
300 | 258 | $rules->add($rules->isUnique([ |
301 | 259 | 'numero_laboratoire' |
302 | 260 | ])); |
... | ... | @@ -321,17 +279,14 @@ class MaterielsTable extends AppTable { |
321 | 279 | $rules->add($rules->existsIn([ |
322 | 280 | 'site_id' |
323 | 281 | ], 'Sites')); |
324 | - | |
325 | 282 | return $rules; |
326 | 283 | } |
327 | 284 | |
328 | 285 | public function beforeSave($event, $entity, $options) { |
329 | 286 | if (! $entity->get('administrer')) { |
330 | - | |
331 | 287 | if (! empty($entity->get('nom_responsable')) && empty($entity->get('nom_responsable'))) { |
332 | 288 | $entity->set('nom_responsable', $entity->get('nom_ancien_responsable')); |
333 | 289 | } |
334 | - | |
335 | 290 | // numero_laboratoire generator (QC changed this in Jan 2015) |
336 | 291 | $configuration = TableRegistry::get('Configurations')->find() |
337 | 292 | ->where([ |
... | ... | @@ -340,9 +295,7 @@ class MaterielsTable extends AppTable { |
340 | 295 | ->first(); |
341 | 296 | if ($configuration->numero_labo_sans_annee) { |
342 | 297 | if (empty($entity->get('numero_laboratoire'))) { |
343 | - | |
344 | 298 | $labShortName = $configuration->labNameShort; |
345 | - | |
346 | 299 | $num = TableRegistry::get('Materiels')->find('all', [ |
347 | 300 | 'fields' => [ |
348 | 301 | 'numero_laboratoire' |
... | ... | @@ -354,25 +307,19 @@ class MaterielsTable extends AppTable { |
354 | 307 | 'Materiels.numero_laboratoire DESC' |
355 | 308 | ] |
356 | 309 | ])->first()['numero_laboratoire']; |
357 | - | |
358 | 310 | error_log($num); |
359 | - | |
360 | 311 | $newId = substr($num, - 4) + 1; |
361 | 312 | error_log($newId); |
362 | 313 | $labNumber = $labShortName . '-' . sprintf("%04d", $newId); |
363 | - | |
364 | 314 | $entity->set('numero_laboratoire', $labNumber); |
365 | 315 | } |
366 | 316 | } else { |
367 | 317 | if (empty($entity->get('numero_laboratoire')) && ! empty($entity->get('date_acquisition'))) { |
368 | 318 | $year = substr($entity->get('date_acquisition'), 6, 4); |
369 | - | |
370 | 319 | if (strlen($year) == 2) { |
371 | 320 | $year = '20' . $year; |
372 | 321 | } |
373 | - | |
374 | 322 | $labShortName = $configuration->labNameShort; |
375 | - | |
376 | 323 | $num = TableRegistry::get('Materiels')->find('all', [ |
377 | 324 | 'fields' => [ |
378 | 325 | 'numero_laboratoire' |
... | ... | @@ -384,24 +331,18 @@ class MaterielsTable extends AppTable { |
384 | 331 | 'Materiels.numero_laboratoire DESC' |
385 | 332 | ] |
386 | 333 | ])->first()['numero_laboratoire']; |
387 | - | |
388 | 334 | $newId = substr($num, - 4) + 1; |
389 | - | |
390 | 335 | $labNumber = $labShortName . '-' . $year . '-' . sprintf("%04d", $newId); |
391 | - | |
392 | 336 | $entity->set('numero_laboratoire', $labNumber); |
393 | 337 | } |
394 | 338 | } |
395 | 339 | } |
396 | - | |
397 | 340 | if (empty($entity->get('date_acquisition'))) { |
398 | 341 | $entity->set('date_acquisition', null); |
399 | 342 | } |
400 | - | |
401 | 343 | if (empty($entity->get('date_reception'))) { |
402 | 344 | $entity->set('date_reception', null); |
403 | 345 | } |
404 | - | |
405 | 346 | return true; |
406 | 347 | } |
407 | 348 | } | ... | ... |
src/Template/Layout/default.ctp
1 | 1 | <?php |
2 | 2 | /** |
3 | 3 | * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) |
4 | - * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | |
5 | - * | |
4 | + * Copyright (c) Cake Software Foundation, Inc. | |
5 | + * (http://cakefoundation.org) | |
6 | 6 | * Licensed under The MIT License |
7 | 7 | * For full copyright and license information, please see the LICENSE.txt |
8 | 8 | * Redistributions of files must retain the above copyright notice. |
9 | 9 | * |
10 | - * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | |
11 | - * @link http://cakephp.org CakePHP(tm) Project | |
12 | - * @since 0.10.0 | |
13 | - * @license http://www.opensource.org/licenses/mit-license.php MIT License | |
10 | + * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | |
11 | + * @link http://cakephp.org CakePHP(tm) Project | |
12 | + * @since 0.10.0 | |
13 | + * @license http://www.opensource.org/licenses/mit-license.php MIT License | |
14 | 14 | */ |
15 | 15 | $cakeDescription = 'Labinvent 2'; |
16 | 16 | ?> |
17 | 17 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
18 | 18 | <html xmlns="http://www.w3.org/1999/xhtml"> |
19 | 19 | <head> |
20 | - <?= $this->Html->charset()?> | |
21 | - <?= $this->Html->css('smoothness')?> | |
22 | - <?= $this->Html->script('jquery-1.5.2') ?> | |
23 | - <?= $this->Html->script('jquery-1.8.12') ?> | |
24 | - <?= $this->Html->script('script') ?> | |
25 | - <?= $this->Html->script('DatepickerConfig') ?> | |
20 | + <?=$this->Html->charset()?> | |
21 | + <?=$this->Html->css('smoothness')?> | |
22 | + <?=$this->Html->script('jquery-1.5.2')?> | |
23 | + <?=$this->Html->script('jquery-1.8.12')?> | |
24 | + <?=$this->Html->script('script')?> | |
25 | + <?=$this->Html->script('DatepickerConfig')?> | |
26 | 26 | <title> |
27 | - <?= $cakeDescription?> | |
27 | + <?=$cakeDescription?> | |
28 | 28 | </title> |
29 | - <?= $this->Html->meta('icon')?> | |
30 | - <?= $this->Html->css('inventirap')?> | |
31 | - <?= $this->Html->css('font-awesome')?> | |
32 | - <?= $this->Html->script('jquery.min') ?> | |
33 | - <?= $this->fetch('meta')?> | |
34 | - <?= $this->fetch('css')?> | |
35 | - <?= $this->fetch('script')?> | |
29 | + <?=$this->Html->meta('icon')?> | |
30 | + <?=$this->Html->css('inventirap')?> | |
31 | + <?=$this->Html->css('font-awesome')?> | |
32 | + <?=$this->Html->script('jquery.min')?> | |
33 | + <?=$this->fetch('meta')?> | |
34 | + <?=$this->fetch('css')?> | |
35 | + <?=$this->fetch('script')?> | |
36 | 36 | <style> |
37 | 37 | #footer a, #footer p, #footer font { font-size: x-small; } |
38 | 38 | </style> |
... | ... | @@ -41,34 +41,38 @@ $cakeDescription = 'Labinvent 2'; |
41 | 41 | |
42 | 42 | <div id="container"> |
43 | 43 | <div id="header"> |
44 | - | |
45 | 44 | |
46 | -<?= $this->Html->image('logo_software.jpg', ['alt' => 'Logo de l\'application', 'border' => '0', 'height' => '80px', 'url' => '/']) ?> | |
47 | - | |
45 | + | |
46 | +<?=$this->Html->image('logo_software.jpg', ['alt' => 'Logo de l\'application','border' => '0','height' => '80px','url' => '/'])?> | |
47 | + | |
48 | 48 | <div class="user"> |
49 | - | |
50 | - | |
49 | + | |
50 | + | |
51 | 51 | <?php |
52 | - if (isset($username) && $username != " ") { | |
53 | - echo 'Bienvenue '.$username.'<br/>'; | |
54 | - echo $role.'<br/>'; | |
55 | - echo $this->Html->link('Se déconnecter', ['controller' => 'Users', 'action' => 'logout']); | |
56 | - } | |
57 | - else { | |
58 | - echo 'Bienvenue invité<br/>'; | |
59 | - echo $this->Html->link('Se connecter', ['controller' => 'Users', 'action' => 'login']); | |
60 | - } | |
61 | - | |
62 | - ?> | |
63 | - | |
52 | + if (isset($username) && $username != " ") { | |
53 | + echo 'Bienvenue ' . $username . '<br/>'; | |
54 | + echo $role . '<br/>'; | |
55 | + echo $this->Html->link('Se déconnecter', [ | |
56 | + 'controller' => 'Users', | |
57 | + 'action' => 'logout' | |
58 | + ]); | |
59 | + } else { | |
60 | + echo 'Bienvenue invité<br/>'; | |
61 | + echo $this->Html->link('Se connecter', [ | |
62 | + 'controller' => 'Users', | |
63 | + 'action' => 'login' | |
64 | + ]); | |
65 | + } | |
66 | + ?> | |
67 | + | |
64 | 68 | </div> |
65 | 69 | </div> |
66 | - | |
70 | + | |
67 | 71 | |
68 | 72 | <div id="content"> |
69 | - <?= $this->Flash->render()?> | |
70 | - <?= $this->Flash->render('auth') ?> | |
71 | - <?= $this->fetch('content')?> | |
73 | + <?=$this->Flash->render()?> | |
74 | + <?=$this->Flash->render('auth')?> | |
75 | + <?=$this->fetch('content')?> | |
72 | 76 | </div> |
73 | 77 | |
74 | 78 | |
... | ... | @@ -76,7 +80,7 @@ $cakeDescription = 'Labinvent 2'; |
76 | 80 | <table> |
77 | 81 | <tr> |
78 | 82 | <td> |
79 | - <?= $this->Html->image('logo_entity.jpg', ['alt' => 'Logo du labo', 'border' => '0', 'height' => '50px']) ?> | |
83 | + <?=$this->Html->image('logo_entity.jpg', ['alt' => 'Logo du labo','border' => '0','height' => '50px'])?> | |
80 | 84 | </td> |
81 | 85 | <td><br /> <a href="http://cakephp.org">Baked with CAKEPHP</a></td> |
82 | 86 | |
... | ... | @@ -86,20 +90,22 @@ $cakeDescription = 'Labinvent 2'; |
86 | 90 | href="mailto:inventirap@irap.omp.eu">LABINVENT-MAILING-LIST</a> |
87 | 91 | </p> |
88 | 92 | <?php |
89 | - echo ' | |
93 | + echo ' | |
90 | 94 | <p> |
91 | 95 | (<a href="https://projects.irap.omp.eu/projects/inventirap/activity">Activité récente sur le projet</a>) |
92 | 96 |   |
93 | 97 | (<a href="https://projects.irap.omp.eu/projects/inventirap/roadmap?tracker_ids[]=1&tracker_ids[]=2&tracker_ids[]=4&tracker_ids[]=5&tracker_ids[]=6&tracker_ids[]=7&tracker_ids[]=8&tracker_ids[]=9#version_2.04_-_Impl%C3%A9mentation_des_ACL_%28droits%29">ROADMAP : Activité restant à réaliser</a>) |
94 | 98 | </p> |
95 | 99 | '; |
96 | - ?> | |
100 | + ?> | |
97 | 101 | </i></td> |
98 | 102 | <td id="version"> |
99 | 103 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
100 | - <font color="black">VERSION 2.6.4 (02/06/2017)</font> | |
104 | + <font color="black">VERSION 2.6.5 (09/06/2017)</font> | |
101 | 105 | <br/> |
102 | - <font color="black"><a href="<?php echo $this->request->webroot ?>webroot/doc/userguide/labinvent2_userguide.pdf" onclick="window.open(this.href); return false;">Documentation utilisateurs</a> | <a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation" onclick="window.open(this.href); return false;">Wiki installation</a></font> | |
106 | + <font color="black"><a href="<?php | |
107 | + | |
108 | + echo $this->request->webroot?>webroot/doc/userguide/labinvent2_userguide.pdf" onclick="window.open(this.href); return false;">Documentation utilisateurs</a> | <a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation" onclick="window.open(this.href); return false;">Wiki installation</a></font> | |
103 | 109 | </td> |
104 | 110 | </tr> |
105 | 111 | </table> | ... | ... |
src/Template/Materiels/add.ctp
1 | 1 | <?php |
2 | 2 | use Cake\ORM\TableRegistry; |
3 | - | |
4 | 3 | if (isset($cpMateriel)) { |
5 | 4 | $Designation = $cpMateriel->designation; |
6 | 5 | $Sur_categ_id = $cpMateriel->sur_categorie_id; |
... | ... | @@ -50,7 +49,6 @@ if (isset($cpMateriel)) { |
50 | 49 | echo "<option value=\"$e\">"; |
51 | 50 | } |
52 | 51 | echo '</datalist> </div>'; |
53 | - | |
54 | 52 | echo $this->Form->input('sur_categorie_id', [ |
55 | 53 | 'label' => 'Domaine', |
56 | 54 | 'style' => 'width: 260px', |
... | ... | @@ -58,7 +56,6 @@ if (isset($cpMateriel)) { |
58 | 56 | 'empty' => 'Choisir un domaine', |
59 | 57 | 'default' => $Sur_categ_id |
60 | 58 | ]); |
61 | - | |
62 | 59 | // if a domaine is selected, reduce the categories list to this domaine |
63 | 60 | $categs = $categories; |
64 | 61 | if (isset($this->request->data['sur_categorie_id']) && ($this->request->data['sur_categorie_id'] != '')) { |
... | ... | @@ -73,7 +70,6 @@ if (isset($cpMateriel)) { |
73 | 70 | 'empty' => 'Choisir une catégorie', |
74 | 71 | 'default' => $Categ_id |
75 | 72 | ]); |
76 | - | |
77 | 73 | // by default, list is empty |
78 | 74 | $souscategs = []; |
79 | 75 | // if a categ is selected, update sous-categs list for this categ (only) |
... | ... | @@ -90,7 +86,6 @@ if (isset($cpMateriel)) { |
90 | 86 | 'empty' => 'Choisir une sous-catégorie', |
91 | 87 | 'default' => $Sous_categ_id |
92 | 88 | ]); |
93 | - | |
94 | 89 | echo $this->Form->input('materiel_technique', [ |
95 | 90 | 'label' => 'Technique', |
96 | 91 | 'default' => $Mat_technique |
... | ... | @@ -99,8 +94,6 @@ if (isset($cpMateriel)) { |
99 | 94 | 'label' => 'Inventoriable (>' . $configuration->prix_inventaire_administratif . '€)', |
100 | 95 | 'default' => $Mat_administratif |
101 | 96 | ]); |
102 | - | |
103 | - var_dump($configuration->metrologie); | |
104 | 97 | if ($configuration->metrologie) { |
105 | 98 | echo $this->Form->input('metrologie', [ |
106 | 99 | 'label' => 'Métrologie', |
... | ... | @@ -111,7 +104,6 @@ if (isset($cpMateriel)) { |
111 | 104 | 'label' => 'Description', |
112 | 105 | 'default' => $Description |
113 | 106 | ]); |
114 | - | |
115 | 107 | if (in_array($role, [ |
116 | 108 | 'Responsable', |
117 | 109 | 'Administration', |
... | ... | @@ -122,7 +114,6 @@ if (isset($cpMateriel)) { |
122 | 114 | 'label' => 'Etiquette posée' |
123 | 115 | ]); |
124 | 116 | } |
125 | - | |
126 | 117 | echo $this->Form->input('site_id', [ |
127 | 118 | 'options' => $sites, |
128 | 119 | 'style' => 'width: 380px', |
... | ... | @@ -133,7 +124,6 @@ if (isset($cpMateriel)) { |
133 | 124 | echo "<option value=\"$e\">"; |
134 | 125 | } |
135 | 126 | echo '</datalist> </div>'; |
136 | - | |
137 | 127 | echo $this->Form->input('date_acquisition', [ |
138 | 128 | 'type' => 'text', |
139 | 129 | 'label' => 'Date de la commande', |
... | ... | @@ -149,14 +139,12 @@ if (isset($cpMateriel)) { |
149 | 139 | 'empty' => true, |
150 | 140 | 'default' => $Date_reception |
151 | 141 | ]); |
152 | - | |
153 | 142 | // Ancienne version dev-IRAP |
154 | 143 | // |
155 | 144 | // echo $this->Form->input ( 'designation', [ |
156 | 145 | // 'label' => 'Désignation', |
157 | 146 | // 'default' => $Designation |
158 | 147 | // ] ); |
159 | - | |
160 | 148 | // echo $this->Form->input ( 'sur_categorie_id', [ |
161 | 149 | // 'label' => 'Domaine', |
162 | 150 | // 'style' => 'width: 260px', |
... | ... | @@ -164,7 +152,6 @@ if (isset($cpMateriel)) { |
164 | 152 | // 'empty' => 'Choisir un domaine', |
165 | 153 | // 'default' => $Sur_categ_id |
166 | 154 | // ] ); |
167 | - | |
168 | 155 | // // if a domaine is selected, reduce the categories list to this domaine |
169 | 156 | // $categs = $categories; |
170 | 157 | // if (isset ( $this->request->data ['sur_categorie_id'] ) && ($this->request->data ['sur_categorie_id'] != '')) { |
... | ... | @@ -179,7 +166,6 @@ if (isset($cpMateriel)) { |
179 | 166 | // 'empty' => 'Choisir une catégorie', |
180 | 167 | // 'default' => $Categ_id |
181 | 168 | // ] ); |
182 | - | |
183 | 169 | // // by default, list is empty |
184 | 170 | // $souscategs = [ ]; |
185 | 171 | // // if a categ is selected, update sous-categs list for this categ (only) |
... | ... | @@ -196,7 +182,6 @@ if (isset($cpMateriel)) { |
196 | 182 | // 'empty' => 'Choisir une sous-catégorie', |
197 | 183 | // 'default' => $Sous_categ_id |
198 | 184 | // ] ); |
199 | - | |
200 | 185 | // echo $this->Form->input ( 'materiel_technique', [ |
201 | 186 | // 'label' => 'Technique', |
202 | 187 | // 'default' => $Mat_technique |
... | ... | @@ -205,12 +190,10 @@ if (isset($cpMateriel)) { |
205 | 190 | // 'label' => 'Inventoriable (>' . $configuration->prix_inventaire_administratif . '€)', |
206 | 191 | // 'default' => $Mat_administratif |
207 | 192 | // ] ); |
208 | - | |
209 | 193 | // echo $this->Form->input ( 'description', [ |
210 | 194 | // 'label' => 'Description', |
211 | 195 | // 'default' => $Description |
212 | 196 | // ] ); |
213 | - | |
214 | 197 | // if (in_array ( $role, [ |
215 | 198 | // 'Responsable', |
216 | 199 | // 'Administration', |
... | ... | @@ -221,7 +204,6 @@ if (isset($cpMateriel)) { |
221 | 204 | // 'label' => 'Etiquette posée' |
222 | 205 | // ] ); |
223 | 206 | // } |
224 | - | |
225 | 207 | // echo $this->Form->input ( 'site_id', [ |
226 | 208 | // 'options' => $sites, |
227 | 209 | // 'style' => 'width: 380px', |
... | ... | @@ -231,7 +213,6 @@ if (isset($cpMateriel)) { |
231 | 213 | // 'label' => 'Détail lieu de stockage', |
232 | 214 | // 'default' => $Lieu_detail |
233 | 215 | // ] ); |
234 | - | |
235 | 216 | // echo $this->Form->input ( 'date_acquisition', [ |
236 | 217 | // 'type' => 'text', |
237 | 218 | // 'label' => 'Date de la commande', |
... | ... | @@ -247,7 +228,6 @@ if (isset($cpMateriel)) { |
247 | 228 | // 'empty' => true, |
248 | 229 | // 'default' => $Date_reception |
249 | 230 | // ] ); |
250 | - | |
251 | 231 | echo '<table id="tableAlignementFrequence"><tr><td>'; |
252 | 232 | echo $this->Form->input('duree_garantie', [ |
253 | 233 | 'type' => 'text', |
... | ... | @@ -278,7 +258,6 @@ if (isset($cpMateriel)) { |
278 | 258 | 'class' => 'datepicker', |
279 | 259 | 'default' => NULL |
280 | 260 | ]); |
281 | - | |
282 | 261 | echo $this->Form->input('numero_serie', [ |
283 | 262 | 'label' => 'Numéro de série' |
284 | 263 | ]); |
... | ... | @@ -331,13 +310,12 @@ if (isset($cpMateriel)) { |
331 | 310 | 'role =' => 'Administration' |
332 | 311 | ]) |
333 | 312 | ->toArray(); |
334 | - echo $this->Form->input('id_gestionnaire', [ | |
313 | + echo $this->Form->input('gestionnaire_id', [ | |
335 | 314 | 'label' => 'Nom du gestionnaire de référence du matériel', |
336 | 315 | 'empty' => 'Choisir un gestionnaire', |
337 | 316 | 'default' => $_SESSION['Auth']['User']['sn'][0], |
338 | 317 | 'options' => $administrateurs |
339 | 318 | ]); |
340 | - | |
341 | 319 | echo $this->Form->input('fournisseur', [ |
342 | 320 | 'label' => 'Fournisseur', |
343 | 321 | 'default' => $Fournisseur, |
... | ... | @@ -354,7 +332,6 @@ if (isset($cpMateriel)) { |
354 | 332 | 'label' => 'Prix HT (€)', |
355 | 333 | 'default' => $Prix_ht |
356 | 334 | ]); |
357 | - | |
358 | 335 | if (in_array($role, [ |
359 | 336 | 'Administration', |
360 | 337 | 'Administration Plus', |
... | ... | @@ -434,13 +411,9 @@ echo $this->element('menu_form', [ |
434 | 411 | $("#sur-categorie-id").bind("change", function(event) { |
435 | 412 | var domaineId = $("#sur-categorie-id :selected").val(); |
436 | 413 | |
437 | - var domaineresp= <?php | |
438 | - | |
439 | -echo $domaineresp?>; | |
440 | - | |
441 | - var role= "<?php | |
414 | + var domaineresp= <?=$domaineresp?>; | |
442 | 415 | |
443 | -echo $role?>"; | |
416 | + var role= "<?=$role?>"; | |
444 | 417 | if(domaineId== domaineresp){ |
445 | 418 | if (role == "Responsable") $("#metro").css("display", "block"); |
446 | 419 | else $("#metro").css("display", "none"); | ... | ... |
src/Template/Materiels/edit.ctp
... | ... | @@ -13,7 +13,6 @@ if ($IS_VALIDATED) |
13 | 13 | $myReadonlyFields = array_merge(array( |
14 | 14 | 'sur_categorie_id', |
15 | 15 | 'categorie_id', |
16 | - 'sous_categorie_id', | |
17 | 16 | 'materiel_administratif', |
18 | 17 | 'materiel_technique', |
19 | 18 | 'site_id', |
... | ... | @@ -21,7 +20,8 @@ if ($IS_VALIDATED) |
21 | 20 | 'date_reception', |
22 | 21 | 'organisme_id', |
23 | 22 | 'prix_ht', |
24 | - 'id_gestionnaire' | |
23 | + 'gestionnaire_id', | |
24 | + 'nom_responsable' | |
25 | 25 | ), $administrationData); |
26 | 26 | else if ($IS_ARCHIVED_OR_TOBE) { |
27 | 27 | $myReadonlyFields = array( |
... | ... | @@ -29,7 +29,14 @@ else if ($IS_ARCHIVED_OR_TOBE) { |
29 | 29 | 'status' |
30 | 30 | ); |
31 | 31 | } |
32 | - | |
32 | +if ($IS_VALIDATED && $materiel->sous_categorie_id) | |
33 | + $myReadonlyFields = array_merge(array( | |
34 | + 'sous_categorie_id' | |
35 | + ), $myReadonlyFields); | |
36 | +if ($IS_VALIDATED && $materiel->numero_serie) | |
37 | + $myReadonlyFields = array_merge(array( | |
38 | + 'numero_serie' | |
39 | + ), $myReadonlyFields); | |
33 | 40 | ?> |
34 | 41 | |
35 | 42 | <div class="materiels form"> |
... | ... | @@ -58,14 +65,11 @@ else if ($IS_ARCHIVED_OR_TOBE) { |
58 | 65 | * } |
59 | 66 | * echo '</datalist> </div>'; |
60 | 67 | */ |
61 | - | |
62 | 68 | // Version IRAP - Désignation |
63 | - | |
64 | 69 | echo $this->Form->input('designation', [ |
65 | 70 | 'label' => 'Désignation', |
66 | 71 | 'disabled' => $isReadonlyField('designation', $myReadonlyFields) |
67 | 72 | ]); |
68 | - | |
69 | 73 | if (in_array($role, [ |
70 | 74 | 'Administration', |
71 | 75 | 'Administration Plus', |
... | ... | @@ -281,7 +285,8 @@ else if ($IS_ARCHIVED_OR_TOBE) { |
281 | 285 | 'role =' => 'Administration' |
282 | 286 | ]) |
283 | 287 | ->toArray(); |
284 | - echo $this->Form->input('nom_gestionnaire', [ | |
288 | + var_dump($administrateurs); | |
289 | + echo $this->Form->input('gestionnaire_id', [ | |
285 | 290 | 'label' => 'Nom du gestionnaire de référence du matériel', |
286 | 291 | 'empty' => 'Choisir un gestionnaire', |
287 | 292 | 'default' => $_SESSION['Auth']['User']['sn'][0], |
... | ... | @@ -375,11 +380,12 @@ echo $this->element('menu_form', [ |
375 | 380 | * Event scateg change : RIEN A FAIRE |
376 | 381 | */ |
377 | 382 | ?> |
378 | -<?php | |
379 | -// Alors oui, c'est pas joli, mais CakePHP a eu l'EXCELENTE IDEE de TOUT inclure dans la balise <head> du site ... Et bien entendu c'est pas pris en compte ici .... Halleluja bordel (#JeremyFerrary) ?> | |
383 | + | |
384 | +<!--Alors oui, c'est pas joli, mais CakePHP a eu l'EXCELENTE IDEE de TOUT inclure dans la balise <head> du site ... Et bien entendu c'est pas pris en compte ici .... Halleluja bordel (#JeremyFerrary) --> | |
380 | 385 | <?=$this->Html->script('jquery-1.8.12')?> |
381 | 386 | <?=$this->Html->script('script')?> |
382 | 387 | <?=$this->Html->script('DatepickerConfig')?> |
388 | + | |
383 | 389 | <script type="text/javascript"> |
384 | 390 | |
385 | 391 | /** |
... | ... | @@ -397,10 +403,8 @@ echo $this->element('menu_form', [ |
397 | 403 | $(document).ready(function () { |
398 | 404 | $("#sur-categorie-id").bind("change", function (event) { |
399 | 405 | var domaineId=$("#sur-categorie-id :selected").val(); |
400 | - var domaineresp= "<?php | |
401 | -echo $domaineresp?>"; | |
402 | - var role= "<?php | |
403 | -echo $role?>"; | |
406 | + var domaineresp= "<?=$domaineresp?>"; | |
407 | + var role= "<?=$role?>"; | |
404 | 408 | if(domaineId== domaineresp){ |
405 | 409 | if(role == "Responsable"){ |
406 | 410 | $("#metro").css("display", "block"); |
... | ... | @@ -421,10 +425,8 @@ echo $role?>"; |
421 | 425 | |
422 | 426 | //Mettre un gestionnaire par défaut si c'est un admin qui modifie la fiche. Sinon l'utilisateur aura a le rentrer à la mano |
423 | 427 | $(document).ready(function () { |
424 | - if ( <?php | |
425 | -echo (! is_null($res)) ? true : false?>) $("#nom-gestionnaire").val("<?php | |
426 | -echo $_SESSION['Auth']['User']['sn'][0]?>"); | |
427 | - // Oui, c'est un bâtard entre du JavaScript et du PHP ... Mais au moins ca fonctionne en une seule ligne ! | |
428 | + if ( <?=(! is_null($res)) ? "true" : "false"?>) $("#gestionnaire-id").val("<?=$_SESSION['Auth']['User']['sn'][0]?>"); | |
429 | + // Oui, c'est un batard entre du JavaScript et du PHP ... Mais au moins ca fonctionne en une seule ligne ! | |
428 | 430 | }); |
429 | 431 | |
430 | 432 | |
... | ... | @@ -484,8 +486,10 @@ echo $_SESSION['Auth']['User']['sn'][0]?>"); |
484 | 486 | |
485 | 487 | }); |
486 | 488 | |
489 | + /** | |
490 | + * Fonction de mise à jour de la date de fin de guarantie | |
491 | + */ | |
487 | 492 | function update_date() { |
488 | - console.log("date update detected"); | |
489 | 493 | if ($("#date-reception").val() != "" && $("#duree-garantie").val() != "") { |
490 | 494 | var url = document.URL; |
491 | 495 | var reg = new RegExp("(materiels).*$", "g"); | ... | ... |
src/Template/Materiels/view.ctp
1 | -<?php | |
1 | +<?php | |
2 | 2 | use Cake\I18n\Time; |
3 | 3 | use Cake\I18n\Date; |
4 | 4 | use Cake\ORM\TableRegistry; |
... | ... | @@ -8,288 +8,272 @@ use Cake\ORM\TableRegistry; |
8 | 8 | |
9 | 9 | <h2> |
10 | 10 | <?php |
11 | - if (h ( $materiel->status ) == 'ARCHIVED') echo '<i class="icon-inbox"></i> '; | |
12 | - $panne = ''; | |
13 | - if (h ( $materiel->hors_service )) { | |
14 | - $panne = ' (HORS SERVICE)'; | |
15 | - } | |
16 | - ?> | |
17 | - | |
18 | - <?= h($materiel->designation).$panne?> | |
11 | + if (h($materiel->status) == 'ARCHIVED') | |
12 | + echo '<i class="icon-inbox"></i> '; | |
13 | + $panne = ''; | |
14 | + if (h($materiel->hors_service)) { | |
15 | + $panne = ' (HORS SERVICE)'; | |
16 | + } | |
17 | + ?> | |
18 | + | |
19 | + <?=h($materiel->designation) . $panne?> | |
19 | 20 | <span style="font-size: 70%; color: grey;"> |
20 | - <?= h($materiel->numero_laboratoire)?> | |
21 | - <?php if (h($materiel->status) == 'ARCHIVED') echo ' (Archivé)'; ?> | |
21 | + <?=h($materiel->numero_laboratoire)?> | |
22 | + <?php | |
23 | + | |
24 | +if (h($materiel->status) == 'ARCHIVED') | |
25 | + echo ' (Archivé)'; | |
26 | + ?> | |
22 | 27 | </span> |
23 | 28 | </h2> |
24 | 29 | <br> |
25 | 30 | <div style="text-align: center;"> |
26 | - <?php | |
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 | - | |
34 | - // Url transformé en QrCode | |
35 | - $this->request->session ()->write ( "qrUrl", $this->request->env ( 'SERVER_NAME' ) . $this->request->env ( 'REQUEST_URI' ) ); | |
36 | - | |
37 | - $this->requestAction ( '/QrCodes/creer/' ); | |
38 | - echo $this->Html->image ( 'qrcodes/' . $this->request->session ()->read ( "filename" ), [ | |
39 | - 'alt' => 'QrCode : ' . $materiel->numero_laboratoire, | |
40 | - 'style' => 'float: right' | |
41 | - ] ); | |
42 | - echo '</div>'; | |
43 | - ?> | |
31 | + <?php | |
32 | + if (isset($imgMateriel)) { | |
33 | + echo $this->Html->image('photos/' . $imgMateriel, [ | |
34 | + 'alt' => 'Photo matériel', | |
35 | + 'style' => 'max-width: 300px; text-align: center;' | |
36 | + ]); | |
37 | + } | |
38 | + // Url transformé en QrCode | |
39 | + $this->request->session()->write("qrUrl", $this->request->env('SERVER_NAME') . $this->request->env('REQUEST_URI')); | |
40 | + $this->requestAction('/QrCodes/creer/'); | |
41 | + echo $this->Html->image('qrcodes/' . $this->request->session() | |
42 | + ->read("filename"), [ | |
43 | + 'alt' => 'QrCode : ' . $materiel->numero_laboratoire, | |
44 | + 'style' => 'float: right' | |
45 | + ]); | |
46 | + echo '</div>'; | |
47 | + ?> | |
44 | 48 | <br> |
45 | 49 | |
46 | 50 | <div class="actions" |
47 | 51 | style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> |
48 | 52 | <?php |
49 | - if (in_array ( $materiel->status, [ | |
50 | - 'CREATED', | |
51 | - 'VALIDATED' | |
52 | - ] )) { | |
53 | - if (($role == 'Utilisateur' && (in_array ( $username, [$materiel->nom_createur, $materiel->nom_responsable ]))) | |
54 | - || (in_array ( $role, [ 'Administration', 'Administration Plus', 'Super Administrateur'])) | |
55 | - || ($role == 'Responsable' && | |
56 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
57 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
58 | - | |
59 | - echo $this->Html->link ( __ ( '<i class="icon-pencil"></i> Editer ce matériel' ), [ | |
60 | - 'action' => 'edit', | |
61 | - $materiel->id | |
62 | - ], [ | |
63 | - 'escape' => false, | |
64 | - 'onclick' => 'return true;', | |
65 | - 'style' => 'margin-right: 10px' | |
66 | - ] ); | |
67 | - } | |
68 | - } | |
69 | - | |
70 | - else { | |
71 | - if (in_array ( $role, [ | |
72 | - 'Administration Plus', | |
73 | - 'Super Administrateur' | |
74 | - ] )) { | |
75 | - echo $this->Html->link ( __ ( '<i class="icon-pencil"></i> Editer ce matériel' ), [ | |
76 | - 'action' => 'edit', | |
77 | - $materiel->id | |
78 | - ], [ | |
79 | - 'escape' => false, | |
80 | - 'onclick' => 'return true;', | |
81 | - 'style' => 'margin-right: 10px' | |
82 | - ] ); | |
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 | - | |
98 | - // BOUTON NOUVEL EMPRUNT | |
99 | - echo $this->Html->link ( '<i class="icon-plus"></i> Nouv. Emprunt', [ | |
100 | - 'controller' => 'emprunts', | |
101 | - 'action' => 'add', | |
102 | - $materiel->id | |
103 | - ], [ | |
104 | - 'title' => 'Faire un nouvel emprunt de ce matériel', | |
105 | - 'style' => 'margin-right: 10px', | |
106 | - 'escape' => false | |
107 | - ] ); // End link | |
108 | - } | |
109 | - | |
110 | - if (($role == 'Utilisateur' && (in_array ( $username, [ | |
111 | - $materiel->nom_createur, | |
112 | - $materiel->nom_responsable | |
113 | - ] ))) || (in_array ( $role, [ | |
114 | - 'Administration', | |
115 | - 'Administration Plus', | |
116 | - 'Super Administrateur' | |
117 | - ] )) || ($role == 'Responsable' && | |
118 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
119 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
120 | - | |
121 | - echo $this->Html->link ( '<i class="icon-file"></i> Lier un Doc.', [ | |
122 | - 'controller' => 'documents', | |
123 | - 'action' => 'add', | |
124 | - $materiel->id, | |
125 | - 'mat' | |
126 | - ], [ | |
127 | - 'title' => 'Attacher un Doc. à ce matériel', | |
128 | - 'style' => 'margin-right: 10px', | |
129 | - 'escape' => false | |
130 | - ] ); | |
131 | - | |
132 | - if ($materiel->photo_id != null) { | |
133 | - echo $this->Html->link ( '<i class="icon-file"></i> Remplacer la photo.', [ | |
134 | - 'controller' => 'documents', | |
135 | - 'action' => 'add', | |
136 | - $materiel->id, | |
137 | - 'mat', | |
138 | - 'photo' | |
139 | - ], [ | |
140 | - 'title' => 'Remplacer la photo de ce matériel', | |
141 | - 'style' => 'margin-right: 10px', | |
142 | - 'escape' => false | |
143 | - ] ); | |
144 | - } else { | |
145 | - echo $this->Html->link ( '<i class="icon-file"></i> Lier une photo.', [ | |
146 | - 'controller' => 'documents', | |
147 | - 'action' => 'add', | |
148 | - $materiel->id, | |
149 | - 'mat', | |
150 | - 'photo' | |
151 | - ], [ | |
152 | - 'title' => 'Attacher une photo à ce matériel', | |
153 | - 'style' => 'margin-right: 10px', | |
154 | - 'escape' => false | |
155 | - ] ); | |
156 | - } | |
157 | - } | |
158 | - | |
159 | - if (in_array ( $role, [ | |
160 | - 'Administration', | |
161 | - 'Administration Plus', | |
162 | - 'Super Administrateur' | |
163 | - ] )) { | |
164 | - if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) { | |
165 | - echo $this->Html->link ( '<i class="icon-file"></i> Doc. admission', [ | |
166 | - 'controller' => 'documents', | |
167 | - 'action' => 'admission', | |
168 | - $materiel->numero_laboratoire | |
169 | - ], [ | |
170 | - 'title' => 'Voir le document d\'admission', | |
171 | - 'style' => 'margin-right: 10px', | |
172 | - 'escape' => false | |
173 | - ] ); | |
174 | - } // Doc sortie (admin only) | |
175 | - else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) { | |
176 | - echo $this->Html->link ( '<i class="icon-file"></i> Doc. sortie', [ | |
177 | - 'controller' => 'documents', | |
178 | - 'action' => 'sortie', | |
179 | - $materiel->numero_laboratoire | |
180 | - ], [ | |
181 | - 'title' => 'Voir le document de sortie', | |
182 | - 'style' => 'margin-right: 10px', | |
183 | - 'escape' => false | |
184 | - ] ); | |
185 | - } | |
186 | - } | |
187 | - | |
188 | - if (in_array ( $role, [ | |
189 | - 'Administration', | |
190 | - 'Administration Plus', | |
191 | - 'Super Administrateur' | |
192 | - ] ) || ($role == 'Responsable' && | |
193 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
194 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
195 | - // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver | |
196 | - switch ($materiel->status) { | |
197 | - case "CREATED" : | |
198 | - echo $this->Html->link ( '<i class="icon-ok-sign"></i> Valider', [ | |
199 | - 'action' => 'statusValidated', | |
200 | - $materiel->id, | |
201 | - 'view' | |
202 | - ], [ | |
203 | - 'title' => 'Valider le matériel', | |
204 | - 'style' => 'margin-right: 10px', | |
205 | - 'escape' => false | |
206 | - ] ); | |
207 | - break; | |
208 | - | |
209 | - case "VALIDATED" : | |
210 | - echo $this->Html->link ( '<i class="icon-ok-sign"></i> Demander sortie', [ | |
211 | - 'action' => 'statusToBeArchived', | |
212 | - $materiel->id, | |
213 | - 'view' | |
214 | - ], [ | |
215 | - 'title' => 'Demander la sortie de l\'inventaire', | |
216 | - 'style' => 'margin-right: 10px', | |
217 | - 'escape' => false | |
218 | - ] ); | |
219 | - break; | |
220 | - | |
221 | - case "TOBEARCHIVED" : | |
222 | - if ($role != 'Responsable' && $role != 'Super Administrateur') { | |
223 | - echo $this->Html->link ( '<i class="icon-ok-sign"></i> Sortie inventaire', [ | |
224 | - 'action' => 'statusArchived', | |
225 | - $materiel->id, | |
226 | - 'view' | |
227 | - ], [ | |
228 | - 'title' => 'Sortir définitivement de l\'inventaire', | |
229 | - 'style' => 'margin-right: 10px', | |
230 | - 'escape' => false, | |
231 | - 'confirm' => 'Êtes-vous sur de bien vouloir archiver ' . $materiel->designation . ' ?' | |
232 | - ] ); | |
233 | - } | |
234 | - break; | |
235 | - } // switch | |
236 | - } | |
237 | - | |
238 | - echo $this->Html->link ( '<i class="icon-pencil"></i> Copier ce matériel', [ | |
239 | - 'controller' => 'materiels', | |
240 | - 'action' => 'add', | |
241 | - $materiel->id | |
242 | - ], [ | |
243 | - 'title' => 'Copier ce matériel', | |
244 | - 'style' => 'margin-right: 10px; margin-top: 10px; display: inline-block', | |
245 | - 'escape' => false | |
246 | - ] ); | |
247 | - | |
248 | - // BOUTON ETIQUETTE POSEE | |
249 | - if ($configuration->hasPrinter && in_array ( $role, [ | |
250 | - 'Administration', | |
251 | - 'Administration Plus', | |
252 | - 'Super Administrateur' | |
253 | - ] )) { | |
254 | - echo '<div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; | |
255 | - | |
256 | - $action = 'Impr. étiquette'; | |
257 | - echo $this->Html->link ( '<i class="icon-print"></i> ' . $action, [ | |
258 | - 'action' => 'printLabelRuban', | |
259 | - h ( $materiel->id ), | |
260 | - 'view' | |
261 | - ], [ | |
262 | - 'title' => 'Imprimer sur un ruban 12mm', | |
263 | - 'style' => 'margin-right: 10px', | |
264 | - 'escape' => false, | |
265 | - 'onclick' => 'return true;' | |
266 | - ] ); // End link | |
267 | - | |
268 | - 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"), [ | |
269 | - 'controller' => 'materiels', | |
270 | - 'action' => h ( $materiel->etiquette ) ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', | |
271 | - h ( $materiel->id ), | |
272 | - 'view' | |
273 | - ], [ | |
274 | - '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", | |
275 | - 'style' => 'margin-left: 0px; margin-right: 10px', | |
276 | - 'escape' => false | |
277 | - ] ); // End link | |
278 | - | |
279 | - echo '</div>'; | |
280 | - | |
281 | - | |
282 | - echo $this->Html->link ( '<i class="icon-file"></i> Fiche PDF du matériel', [ | |
283 | - 'controller' => 'documents', | |
284 | - 'action' => 'ficheMateriel', | |
285 | - $materiel->numero_laboratoire | |
286 | - ], [ | |
287 | - 'title' => 'Voir la fiche du materiel', | |
288 | - 'style' => 'margin-right: 10px; background: green; color: white', | |
289 | - 'escape' => false | |
290 | - ] ); | |
291 | - } | |
292 | - ?> | |
53 | + if (in_array($materiel->status, [ | |
54 | + 'CREATED', | |
55 | + 'VALIDATED' | |
56 | + ])) { | |
57 | + if (($role == 'Utilisateur' && (in_array($username, [ | |
58 | + $materiel->nom_createur, | |
59 | + $materiel->nom_responsable | |
60 | + ]))) || (in_array($role, [ | |
61 | + 'Administration', | |
62 | + 'Administration Plus', | |
63 | + 'Super Administrateur' | |
64 | + ])) || ($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)))) { | |
65 | + echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'), [ | |
66 | + 'action' => 'edit', | |
67 | + $materiel->id | |
68 | + ], [ | |
69 | + 'escape' => false, | |
70 | + 'onclick' => 'return true;', | |
71 | + 'style' => 'margin-right: 10px' | |
72 | + ]); | |
73 | + } | |
74 | + } else { | |
75 | + if (in_array($role, [ | |
76 | + 'Administration Plus', | |
77 | + 'Super Administrateur' | |
78 | + ])) { | |
79 | + echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce matériel'), [ | |
80 | + 'action' => 'edit', | |
81 | + $materiel->id | |
82 | + ], [ | |
83 | + 'escape' => false, | |
84 | + 'onclick' => 'return true;', | |
85 | + 'style' => 'margin-right: 10px' | |
86 | + ]); | |
87 | + } | |
88 | + } | |
89 | + if ($materiel->status == 'VALIDATED') { | |
90 | + // BOUTON NOUVEAU SUIVI | |
91 | + echo $this->Html->link('<i class="icon-plus"></i> Nouv. Suivi', [ | |
92 | + 'controller' => 'suivis', | |
93 | + 'action' => 'add', | |
94 | + $materiel->id | |
95 | + ], [ | |
96 | + 'title' => 'Faire un nouveau suivi de ce matériel', | |
97 | + 'style' => 'margin-right: 10px', | |
98 | + 'escape' => false | |
99 | + ]); // End link | |
100 | + // BOUTON NOUVEL EMPRUNT | |
101 | + echo $this->Html->link('<i class="icon-plus"></i> Nouv. Emprunt', [ | |
102 | + 'controller' => 'emprunts', | |
103 | + 'action' => 'add', | |
104 | + $materiel->id | |
105 | + ], [ | |
106 | + 'title' => 'Faire un nouvel emprunt de ce matériel', | |
107 | + 'style' => 'margin-right: 10px', | |
108 | + 'escape' => false | |
109 | + ]); // End link | |
110 | + } | |
111 | + if (($role == 'Utilisateur' && (in_array($username, [ | |
112 | + $materiel->nom_createur, | |
113 | + $materiel->nom_responsable | |
114 | + ]))) || (in_array($role, [ | |
115 | + 'Administration', | |
116 | + 'Administration Plus', | |
117 | + 'Super Administrateur' | |
118 | + ])) || ($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)))) { | |
119 | + echo $this->Html->link('<i class="icon-file"></i> Lier un Doc.', [ | |
120 | + 'controller' => 'documents', | |
121 | + 'action' => 'add', | |
122 | + $materiel->id, | |
123 | + 'mat' | |
124 | + ], [ | |
125 | + 'title' => 'Attacher un Doc. à ce matériel', | |
126 | + 'style' => 'margin-right: 10px', | |
127 | + 'escape' => false | |
128 | + ]); | |
129 | + if ($materiel->photo_id != null) { | |
130 | + echo $this->Html->link('<i class="icon-file"></i> Remplacer la photo.', [ | |
131 | + 'controller' => 'documents', | |
132 | + 'action' => 'add', | |
133 | + $materiel->id, | |
134 | + 'mat', | |
135 | + 'photo' | |
136 | + ], [ | |
137 | + 'title' => 'Remplacer la photo de ce matériel', | |
138 | + 'style' => 'margin-right: 10px', | |
139 | + 'escape' => false | |
140 | + ]); | |
141 | + } else { | |
142 | + echo $this->Html->link('<i class="icon-file"></i> Lier une photo.', [ | |
143 | + 'controller' => 'documents', | |
144 | + 'action' => 'add', | |
145 | + $materiel->id, | |
146 | + 'mat', | |
147 | + 'photo' | |
148 | + ], [ | |
149 | + 'title' => 'Attacher une photo à ce matériel', | |
150 | + 'style' => 'margin-right: 10px', | |
151 | + 'escape' => false | |
152 | + ]); | |
153 | + } | |
154 | + } | |
155 | + if (in_array($role, [ | |
156 | + 'Administration', | |
157 | + 'Administration Plus', | |
158 | + 'Super Administrateur' | |
159 | + ])) { | |
160 | + if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) { | |
161 | + echo $this->Html->link('<i class="icon-file"></i> Doc. admission', [ | |
162 | + 'controller' => 'documents', | |
163 | + 'action' => 'admission', | |
164 | + $materiel->numero_laboratoire | |
165 | + ], [ | |
166 | + 'title' => 'Voir le document d\'admission', | |
167 | + 'style' => 'margin-right: 10px', | |
168 | + 'escape' => false | |
169 | + ]); | |
170 | + } // Doc sortie (admin only) | |
171 | +else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) { | |
172 | + echo $this->Html->link('<i class="icon-file"></i> Doc. sortie', [ | |
173 | + 'controller' => 'documents', | |
174 | + 'action' => 'sortie', | |
175 | + $materiel->numero_laboratoire | |
176 | + ], [ | |
177 | + 'title' => 'Voir le document de sortie', | |
178 | + 'style' => 'margin-right: 10px', | |
179 | + 'escape' => false | |
180 | + ]); | |
181 | + } | |
182 | + } | |
183 | + if (in_array($role, [ | |
184 | + 'Administration', | |
185 | + 'Administration Plus', | |
186 | + 'Super Administrateur' | |
187 | + ]) || ($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)))) { | |
188 | + // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver | |
189 | + switch ($materiel->status) { | |
190 | + case "CREATED" : | |
191 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Valider', [ | |
192 | + 'action' => 'statusValidated', | |
193 | + $materiel->id, | |
194 | + 'view' | |
195 | + ], [ | |
196 | + 'title' => 'Valider le matériel', | |
197 | + 'style' => 'margin-right: 10px', | |
198 | + 'escape' => false | |
199 | + ]); | |
200 | + break; | |
201 | + case "VALIDATED" : | |
202 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Demander sortie', [ | |
203 | + 'action' => 'statusToBeArchived', | |
204 | + $materiel->id, | |
205 | + 'view' | |
206 | + ], [ | |
207 | + 'title' => 'Demander la sortie de l\'inventaire', | |
208 | + 'style' => 'margin-right: 10px', | |
209 | + 'escape' => false | |
210 | + ]); | |
211 | + break; | |
212 | + case "TOBEARCHIVED" : | |
213 | + if ($role != 'Responsable' && $role != 'Super Administrateur') { | |
214 | + echo $this->Html->link('<i class="icon-ok-sign"></i> Sortie inventaire', [ | |
215 | + 'action' => 'statusArchived', | |
216 | + $materiel->id, | |
217 | + 'view' | |
218 | + ], [ | |
219 | + 'title' => 'Sortir définitivement de l\'inventaire', | |
220 | + 'style' => 'margin-right: 10px', | |
221 | + 'escape' => false, | |
222 | + 'confirm' => 'Êtes-vous sur de bien vouloir archiver ' . $materiel->designation . ' ?' | |
223 | + ]); | |
224 | + } | |
225 | + break; | |
226 | + } // switch | |
227 | + } | |
228 | + echo $this->Html->link('<i class="icon-pencil"></i> Copier ce matériel', [ | |
229 | + 'controller' => 'materiels', | |
230 | + 'action' => 'add', | |
231 | + $materiel->id | |
232 | + ], [ | |
233 | + 'title' => 'Copier ce matériel', | |
234 | + 'style' => 'margin-right: 10px; margin-top: 10px; display: inline-block', | |
235 | + 'escape' => false | |
236 | + ]); | |
237 | + // BOUTON ETIQUETTE POSEE | |
238 | + if ($configuration->hasPrinter && in_array($role, [ | |
239 | + 'Administration', | |
240 | + 'Administration Plus', | |
241 | + 'Super Administrateur' | |
242 | + ])) { | |
243 | + echo '<div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">'; | |
244 | + $action = 'Impr. étiquette'; | |
245 | + echo $this->Html->link('<i class="icon-print"></i> ' . $action, [ | |
246 | + 'action' => 'printLabelRuban', | |
247 | + h($materiel->id), | |
248 | + 'view' | |
249 | + ], [ | |
250 | + 'title' => 'Imprimer sur un ruban 12mm', | |
251 | + 'style' => 'margin-right: 10px', | |
252 | + 'escape' => false, | |
253 | + 'onclick' => 'return true;' | |
254 | + ]); // End link | |
255 | + 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"), [ | |
256 | + 'controller' => 'materiels', | |
257 | + 'action' => h($materiel->etiquette) ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', | |
258 | + h($materiel->id), | |
259 | + 'view' | |
260 | + ], [ | |
261 | + '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", | |
262 | + 'style' => 'margin-left: 0px; margin-right: 10px', | |
263 | + 'escape' => false | |
264 | + ]); // End link | |
265 | + echo '</div>'; | |
266 | + echo $this->Html->link('<i class="icon-file"></i> Fiche PDF du matériel', [ | |
267 | + 'controller' => 'documents', | |
268 | + 'action' => 'ficheMateriel', | |
269 | + $materiel->numero_laboratoire | |
270 | + ], [ | |
271 | + 'title' => 'Voir la fiche du materiel', | |
272 | + 'style' => 'margin-right: 10px; background: green; color: white', | |
273 | + 'escape' => false | |
274 | + ]); | |
275 | + } | |
276 | + ?> | |
293 | 277 | </div> |
294 | 278 | |
295 | 279 | <h3 id="t_informations" style="cursor: pointer;"> |
... | ... | @@ -302,310 +286,363 @@ use Cake\ORM\TableRegistry; |
302 | 286 | <th style="width: 250px;"></th> |
303 | 287 | <th></th> |
304 | 288 | </tr> |
305 | - | |
306 | - | |
289 | + | |
290 | + | |
307 | 291 | <?php |
308 | - // Pour changer la couleur de la date de garantie si elle est passée - Ajout par Thibault Ajas le 02/05/2017 | |
309 | - $time = Time::now(); // On récupère la date et l'heure actuelles | |
310 | - $today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie | |
311 | - $today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 en un format qui pourra etre comparé : 20001231 | |
312 | - if ($materiel->date_fin_garantie !== NULL) { | |
313 | - $timeFin = new time($materiel->date_fin_garantie); | |
314 | - $dateFin = new date("$timeFin->year-$timeFin->month-$timeFin->day"); | |
315 | - $dateFin = $dateFin->format('Ydm'); | |
316 | - } | |
317 | - if($materiel->date_fin_garantie !== NULL) $style = ($today >= $dateFin) ? 'style="color: #FF0000"' : '' ; else $style = ''; | |
318 | - ?> | |
319 | - | |
320 | - | |
292 | +// Pour changer la couleur de la date de garantie si elle est passée - Ajout par Thibault Ajas le 02/05/2017 | |
293 | +$time = Time::now(); // On récupère la date et l'heure actuelles | |
294 | +$today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie | |
295 | +$today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 en un format qui pourra etre comparé : 20001231 | |
296 | +if ($materiel->date_fin_garantie !== NULL) { | |
297 | + $timeFin = new time($materiel->date_fin_garantie); | |
298 | + $dateFin = new date("$timeFin->year-$timeFin->month-$timeFin->day"); | |
299 | + $dateFin = $dateFin->format('Ydm'); | |
300 | +} | |
301 | +if ($materiel->date_fin_garantie !== NULL) | |
302 | + $style = ($today >= $dateFin) ? 'style="color: #FF0000"' : ''; | |
303 | +else | |
304 | + $style = ''; | |
305 | +?> | |
306 | + | |
307 | + | |
321 | 308 | <?php |
322 | - $type = ""; | |
323 | - if (h ( $materiel->materiel_administratif ) == 1 && h ( $materiel->materiel_technique ) == 1) { | |
324 | - $type = 'Administratif et technique'; | |
325 | - } else if (h ( $materiel->materiel_administratif ) == 1) { | |
326 | - $type = 'Administratif'; | |
327 | - } else if (h ( $materiel->materiel_technique ) == 1) { | |
328 | - $type = 'Technique'; | |
329 | - } | |
330 | - | |
331 | - echo '<tr><td><strong>'.__('Description').' </strong></td><td>'.nl2br($materiel->description).'</td></tr>'; | |
332 | - | |
333 | - // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php | |
334 | - | |
335 | - $displayElement ( __ ( 'Materiel inventorié' ), $type ); | |
336 | - $displayElement ( __ ( 'Organisme' ), $materiel->has ( 'organisme' ) ? h ( $materiel->organisme->nom ) : '' ); | |
337 | - $displayElement ( __ ( 'Domaine' ), $materiel->has ( 'sur_category' ) ? h ( $materiel->sur_category->nom ) : '' ); | |
338 | - $displayElement ( __ ( 'Catégorie' ), $materiel->has ( 'category' ) ? h ( $materiel->category->nom ) : '' ); | |
339 | - $displayElement ( __ ( 'Sous-Catégorie' ), $materiel->has ( 'sous_category' ) ? h ( $materiel->sous_category->nom ) : '' ); | |
340 | - | |
341 | - if (h ( $materiel->etiquette ) == 0) { | |
342 | - $etiq = "Non"; | |
343 | - } else { | |
344 | - $etiq = "Oui"; | |
345 | - } | |
346 | - $displayElement ( __ ( 'Etiquette posée' ), $etiq ); | |
347 | - $displayElement ( __ ( 'N° de série'),$materiel->numero_serie ); | |
348 | - $displayElement ( __ ( $configuration->nom_groupe_thematique ), $materiel->has ( 'groupes_thematique' ) ? $this->Html->link ( $materiel->groupes_thematique->nom, [ | |
349 | - 'controller' => 'GroupesThematiques', | |
350 | - 'action' => 'view', | |
351 | - $materiel->groupes_thematique->id | |
352 | - ] ) : '' ); | |
353 | - $displayElement ( __ ( $configuration->nom_groupe_metier ), $materiel->has ( 'groupes_metier' ) ? $this->Html->link ( $materiel->groupes_metier->nom, [ | |
354 | - 'controller' => 'GroupesMetiers', | |
355 | - 'action' => 'view', | |
356 | - $materiel->groupes_metier->id | |
357 | - ] ) : '' ); | |
358 | - if($configuration->metrologie == 1){ | |
359 | - if (h ( $materiel->metrologie ) == 0) { | |
360 | - $metro = "Non"; | |
361 | - } else { | |
362 | - $metro = "Oui"; | |
363 | - } | |
364 | - $displayElement ( __ ( 'Métrologie' ), $metro); | |
365 | - } | |
366 | - $displayElement ( __ ( 'Date d\'achat' ), h ( $materiel->date_acquisition ) ); | |
367 | - | |
368 | - $displayElement ( __ ( 'Date de reception' ), h ( $materiel->date_reception ) ); | |
369 | - if (! empty ( h ( $materiel->duree_garntie ) )) { | |
370 | - $displayElement ( __ ( 'Duree garantie' ), h ( $materiel->duree_garantie ) . ' ' . h ( $materiel->unite_duree_garantie ) ); | |
371 | - } | |
372 | - $displayElement ( __ ( 'Date fin de garantie' ), h ( $materiel->date_fin_garantie ), $style ); | |
373 | - | |
374 | - $displayElement ( __ ( 'Statut' ), h ( $materiel->status ) ); | |
375 | - if ($materiel->status == 'ARCHIVED') { | |
376 | - $displayElement ( __ ( 'Date d\'archivage' ), h ( $materiel->date_archivage ) ); | |
377 | - } | |
378 | - $displayElement ( __ ( 'Prix (HT)' ), h ( $materiel->prix_ht ) . ' €' ); | |
379 | - $displayElement ( __ ( 'Fournisseur' ), $materiel->has( 'fournisseur' )? $materiel->fournisseur->nom : '' ); | |
380 | - | |
381 | - $displayElement ( __ ( 'Lieu de stockage' ), $materiel->has ( 'site' ) ? h ( $materiel->site->nom ) : '' ); | |
382 | - $displayElement ( __ ( 'Détail lieu de stockage' ), h ( $materiel->lieu_detail ) ); | |
383 | - | |
384 | - $displayElement ( __ ( 'Nom du propriétaire' ), $this->Html->link ( h ( $materiel->nom_responsable ), 'mailto:' . h ( $materiel->email_responsable ) ) ); | |
385 | - $displayElement ( __ ( 'N. interne (labo)' ), h ( $materiel->numero_laboratoire ) ); | |
386 | - $gestionnaire = TableRegistry::get('Users')->find()->where(['id =' => $materiel->id_gestionnaire]); | |
387 | - $displayElement ( __ ( 'Nom du gestionnaire de référence' ), h ( $gestionnaire->first()['nom'] )); | |
388 | - if ($role == 'Super Administrateur') { | |
389 | - $displayElement ( __ ( 'Date création' ), h ( $materiel->created ) ); | |
390 | - $displayElement ( __ ( 'Nom du créateur' ), h ( $materiel->nom_createur ) ); | |
391 | - $displayElement ( __ ( 'Date modification' ), h ( $materiel->modified ) ); | |
392 | - $displayElement ( __ ( 'Nom du modificateur' ), h ( $materiel->nom_modificateur ) ); | |
393 | - } | |
394 | - | |
395 | - ?> | |
309 | + $type = ""; | |
310 | + if (h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1) { | |
311 | + $type = 'Administratif et technique'; | |
312 | + } else if (h($materiel->materiel_administratif) == 1) { | |
313 | + $type = 'Administratif'; | |
314 | + } else if (h($materiel->materiel_technique) == 1) { | |
315 | + $type = 'Technique'; | |
316 | + } | |
317 | + echo '<tr><td><strong>' . __('Description') . ' </strong></td><td>' . nl2br($materiel->description) . '</td></tr>'; | |
318 | + // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php | |
319 | + $displayElement(__('Materiel inventorié'), $type); | |
320 | + $displayElement(__('Organisme'), $materiel->has('organisme') ? h($materiel->organisme->nom) : ''); | |
321 | + $displayElement(__('Domaine'), $materiel->has('sur_category') ? h($materiel->sur_category->nom) : ''); | |
322 | + $displayElement(__('Catégorie'), $materiel->has('category') ? h($materiel->category->nom) : ''); | |
323 | + $displayElement(__('Sous-Catégorie'), $materiel->has('sous_category') ? h($materiel->sous_category->nom) : ''); | |
324 | + if (h($materiel->etiquette) == 0) { | |
325 | + $etiq = "Non"; | |
326 | + } else { | |
327 | + $etiq = "Oui"; | |
328 | + } | |
329 | + $displayElement(__('Etiquette posée'), $etiq); | |
330 | + $displayElement(__('N° de série'), $materiel->numero_serie); | |
331 | + $displayElement(__($configuration->nom_groupe_thematique), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, [ | |
332 | + 'controller' => 'GroupesThematiques', | |
333 | + 'action' => 'view', | |
334 | + $materiel->groupes_thematique->id | |
335 | + ]) : ''); | |
336 | + $displayElement(__($configuration->nom_groupe_metier), $materiel->has('groupes_metier') ? $this->Html->link($materiel->groupes_metier->nom, [ | |
337 | + 'controller' => 'GroupesMetiers', | |
338 | + 'action' => 'view', | |
339 | + $materiel->groupes_metier->id | |
340 | + ]) : ''); | |
341 | + if ($configuration->metrologie == 1) { | |
342 | + if (h($materiel->metrologie) == 0) { | |
343 | + $metro = "Non"; | |
344 | + } else { | |
345 | + $metro = "Oui"; | |
346 | + } | |
347 | + $displayElement(__('Métrologie'), $metro); | |
348 | + } | |
349 | + $displayElement(__('Date d\'achat'), h($materiel->date_acquisition)); | |
350 | + $displayElement(__('Date de reception'), h($materiel->date_reception)); | |
351 | + if (! empty(h($materiel->duree_garntie))) { | |
352 | + $displayElement(__('Duree garantie'), h($materiel->duree_garantie) . ' ' . h($materiel->unite_duree_garantie)); | |
353 | + } | |
354 | + $displayElement(__('Date fin de garantie'), h($materiel->date_fin_garantie), $style); | |
355 | + $displayElement(__('Statut'), h($materiel->status)); | |
356 | + if ($materiel->status == 'ARCHIVED') { | |
357 | + $displayElement(__('Date d\'archivage'), h($materiel->date_archivage)); | |
358 | + } | |
359 | + $displayElement(__('Prix (HT)'), h($materiel->prix_ht) . ' €'); | |
360 | + $displayElement(__('Fournisseur'), $materiel->has('fournisseur') ? $materiel->fournisseur->nom : ''); | |
361 | + $displayElement(__('Lieu de stockage'), $materiel->has('site') ? h($materiel->site->nom) : ''); | |
362 | + $displayElement(__('Détail lieu de stockage'), h($materiel->lieu_detail)); | |
363 | + $displayElement(__('Nom du propriétaire'), $this->Html->link(h($materiel->nom_responsable), 'mailto:' . h($materiel->email_responsable))); | |
364 | + $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire)); | |
365 | + $gestionnaire = TableRegistry::get('Users')->find()->where([ | |
366 | + 'id =' => $materiel->gestionnaire_id | |
367 | + ]); | |
368 | + $displayElement(__('Nom du gestionnaire de référence'), h($gestionnaire->first()['nom'])); | |
369 | + if ($role == 'Super Administrateur') { | |
370 | + $displayElement(__('Date création'), h($materiel->created)); | |
371 | + $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); | |
372 | + $displayElement(__('Date modification'), h($materiel->modified)); | |
373 | + $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); | |
374 | + } | |
375 | + ?> | |
396 | 376 | </table> |
397 | 377 | </div> |
398 | - | |
378 | + | |
399 | 379 | |
400 | 380 | <?php |
401 | - // Partie admin | |
402 | - if (in_array ( $role, [ | |
403 | - 'Administration', | |
404 | - 'Administration Plus', | |
405 | - 'Super Administrateur' | |
406 | - ] )) { | |
407 | - echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; | |
408 | - echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; | |
409 | - echo '<span style="text-decoration: underline;"> Informations administratives</span>'; | |
410 | - echo '</h3>'; | |
411 | - echo '<div id="informations_admin" style="margin-bottom: 20px;">'; | |
412 | - echo '<table>'; | |
413 | - echo '<tr><th style="width: 250px;"></th><th></th></tr>'; | |
414 | - | |
415 | - echo '<tr><td><strong>' . __ ( 'CentreFinancier/EOTP' ) . ' </strong></td><td>' . h ( $materiel->eotp ) . '</td></tr>'; | |
416 | - echo '<tr><td><strong>' . __ ( 'N° commande' ) . ' </strong></td><td>' . h ( $materiel->numero_commande ) . '</td></tr>'; | |
417 | - echo '<tr><td><strong>' . __ ( 'Code comptable' ) . ' </strong></td><td>' . h ( $materiel->code_comptable ) . '</td></tr>'; | |
418 | - echo '<tr><td><strong>' . __ ( 'N. Inventaire Organisme' ) . ' </strong></td><td>' . h ( $materiel->numero_inventaire_organisme ) . '</td></tr>'; | |
419 | - echo '<tr><td><strong>' . __ ( 'N. inventaire (ancien)' ) . ' </strong></td><td>' . h ( $materiel->numero_inventaire_old ) . '</td></tr>'; | |
420 | - | |
421 | - echo '</table>'; | |
422 | - echo '</div>'; | |
423 | - } | |
424 | - | |
425 | - ?> | |
426 | - | |
427 | - | |
381 | +// Partie admin | |
382 | +if (in_array($role, [ | |
383 | + 'Administration', | |
384 | + 'Administration Plus', | |
385 | + 'Super Administrateur' | |
386 | +])) { | |
387 | + echo '<h3 id="t_informations_admin" style="cursor: pointer;">'; | |
388 | + echo '<i class="icon-chevron-down" style="font-size: 14px;" id="i_informations_admin"></i>'; | |
389 | + echo '<span style="text-decoration: underline;"> Informations administratives</span>'; | |
390 | + echo '</h3>'; | |
391 | + echo '<div id="informations_admin" style="margin-bottom: 20px;">'; | |
392 | + echo '<table>'; | |
393 | + echo '<tr><th style="width: 250px;"></th><th></th></tr>'; | |
394 | + echo '<tr><td><strong>' . __('CentreFinancier/EOTP') . ' </strong></td><td>' . h($materiel->eotp) . '</td></tr>'; | |
395 | + echo '<tr><td><strong>' . __('N° commande') . ' </strong></td><td>' . h($materiel->numero_commande) . '</td></tr>'; | |
396 | + echo '<tr><td><strong>' . __('Code comptable') . ' </strong></td><td>' . h($materiel->code_comptable) . '</td></tr>'; | |
397 | + echo '<tr><td><strong>' . __('N. Inventaire Organisme') . ' </strong></td><td>' . h($materiel->numero_inventaire_organisme) . '</td></tr>'; | |
398 | + echo '<tr><td><strong>' . __('N. inventaire (ancien)') . ' </strong></td><td>' . h($materiel->numero_inventaire_old) . '</td></tr>'; | |
399 | + echo '</table>'; | |
400 | + echo '</div>'; | |
401 | +} | |
402 | +?> | |
403 | + | |
404 | + | |
428 | 405 | <h3 id="t_suivis" style="cursor: pointer;"> |
429 | 406 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i> |
430 | - <span style="text-decoration: underline;">Suivi(s) du matériel (<?= count($materiel->suivis) ?>)</span> | |
407 | + <span style="text-decoration: underline;">Suivi(s) du matériel (<?=count($materiel->suivis)?>)</span> | |
431 | 408 | </h3> |
432 | 409 | <div id="suivis" style="margin-bottom: 20px;"> |
433 | 410 | |
434 | - <?php if (!empty($materiel->suivis)) { ?> | |
411 | + <?php | |
412 | + | |
413 | +if (! empty($materiel->suivis)) { | |
414 | + ?> | |
435 | 415 | <table> |
436 | 416 | <tr> |
437 | - <th class="actions"><?= __('') ?></th> | |
438 | - <th><?= __('N°') ?></th> | |
439 | - <th><?= __('Type d\'intervention') ?></th> | |
440 | - <th><?= __('Intitulé') ?></th> | |
441 | - <th><?= __('Etat metrologique') ?></th> | |
442 | - <th><?= __('Date prochain contrôle') ?></th> | |
443 | - <th><?= __('Statut') ?></th> | |
444 | - </tr> | |
445 | - <?php foreach ($materiel->suivis as $suivis): ?> | |
417 | + <th class="actions"><?=__('')?></th> | |
418 | + <th><?=__('N°')?></th> | |
419 | + <th><?=__('Type d\'intervention')?></th> | |
420 | + <th><?=__('Intitulé')?></th> | |
421 | + <th><?=__('Etat metrologique')?></th> | |
422 | + <th><?=__('Date prochain contrôle')?></th> | |
423 | + <th><?=__('Statut')?></th> | |
424 | + </tr> | |
425 | + <?php | |
426 | + | |
427 | +foreach ($materiel->suivis as $suivis) : | |
428 | + ?> | |
446 | 429 | <tr> |
447 | - | |
430 | + | |
448 | 431 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
449 | 432 | <?php |
450 | - if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) | |
451 | - || ($role == 'Responsable' && | |
452 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
453 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
454 | - ?> | |
455 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis', 'action' => 'edit', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?> | |
456 | - <?= $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)])?> | |
457 | - <?php } ?> | |
433 | + if (($role == 'Utilisateur' && (in_array($username, [ | |
434 | + $materiel->nom_createur, | |
435 | + $materiel->nom_responsable | |
436 | + ]))) || (in_array($role, [ | |
437 | + 'Administration', | |
438 | + 'Administration Plus', | |
439 | + 'Super Administrateur' | |
440 | + ])) || ($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)))) { | |
441 | + ?> | |
442 | + <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis','action' => 'edit',$suivis->id], ['escape' => false,'style' => 'margin:0'])?> | |
443 | + <?=$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)])?> | |
444 | + <?php | |
445 | + | |
446 | +} | |
447 | + ?> | |
458 | 448 | </td> |
459 | - <td><?= $this->Html->link('Suivi '.$suivis->id, ['controller' => 'suivis', 'action' => 'view', $suivis->id]) ?></td> | |
460 | - <td><?= $typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom']; ?></td> | |
461 | - <td><?= h($suivis->intitule) ?></td> | |
462 | - <td><?= h($suivis->conforme) ?></td> | |
463 | - <td><?= h($suivis->date_prochain_controle) ?></td> | |
464 | - <td><?= h($suivis->statut) ?></td> | |
449 | + <td><?=$this->Html->link('Suivi ' . $suivis->id, ['controller' => 'suivis','action' => 'view',$suivis->id])?></td> | |
450 | + <td><?=$typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'];?></td> | |
451 | + <td><?=h($suivis->intitule)?></td> | |
452 | + <td><?=h($suivis->conforme)?></td> | |
453 | + <td><?=h($suivis->date_prochain_controle)?></td> | |
454 | + <td><?=h($suivis->statut)?></td> | |
465 | 455 | </tr> |
466 | - <?php endforeach; ?> | |
467 | - </table> | |
468 | - <?php }else { echo 'Aucun suivi pour ce matériel.'; } ?> | |
456 | + <?php | |
457 | + | |
458 | +endforeach | |
459 | + ; | |
460 | + ?> | |
461 | + </table> | |
462 | + <?php | |
463 | + | |
464 | +} else { | |
465 | + echo 'Aucun suivi pour ce matériel.'; | |
466 | + } | |
467 | + ?> | |
469 | 468 | </div> |
470 | 469 | |
471 | 470 | |
472 | 471 | |
473 | 472 | <h3 id="t_emprunts" style="cursor: pointer;"> |
474 | 473 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_emprunts"></i> |
475 | - <span style="text-decoration: underline;">Emprunt(s) du matériel (<?= count($materiel->emprunts) ?>)</span> | |
474 | + <span style="text-decoration: underline;">Emprunt(s) du matériel (<?=count($materiel->emprunts)?>)</span> | |
476 | 475 | </h3> |
477 | 476 | <div id="emprunts" style="margin-bottom: 20px;"> |
478 | - | |
479 | - <?php if (!empty($materiel->emprunts)) { ?> | |
477 | + | |
478 | + <?php | |
479 | + | |
480 | +if (! empty($materiel->emprunts)) { | |
481 | + ?> | |
480 | 482 | <table> |
481 | 483 | <tr> |
482 | - <th class="actions"><?= __('') ?></th> | |
483 | - <th><?= __('N°') ?></th> | |
484 | - <th><?= __('Emprunteur') ?></th> | |
485 | - <th><?= __('Type d\'Emprunt') ?></th> | |
486 | - <th><?= __('Où') ?></th> | |
487 | - <th><?= __('Date de l\'emprunt') ?></th> | |
488 | - <th><?= __('Date de retour') ?></th> | |
489 | - </tr> | |
484 | + <th class="actions"><?=__('')?></th> | |
485 | + <th><?=__('N°')?></th> | |
486 | + <th><?=__('Emprunteur')?></th> | |
487 | + <th><?=__('Type d\'Emprunt')?></th> | |
488 | + <th><?=__('Où')?></th> | |
489 | + <th><?=__('Date de l\'emprunt')?></th> | |
490 | + <th><?=__('Date de retour')?></th> | |
491 | + </tr> | |
490 | 492 | <?php |
491 | - | |
492 | -foreach ( $materiel->emprunts as $emprunts ) : | |
493 | - | |
494 | - $type = 'Externe'; | |
495 | - $lieu = $emprunts ['laboratoire']; | |
496 | - if ($emprunts ['emprunt_interne'] == 1) { | |
497 | - $type = 'Interne'; | |
498 | - $lieu = $sites->find ()->where ( [ | |
499 | - 'id =' => h ( $emprunts->site_id ) | |
500 | - ] )->first () ['nom'] . '-' . h ( $emprunts->e_lieu_detail ); | |
501 | - } | |
502 | - ?> | |
493 | + foreach ($materiel->emprunts as $emprunts) : | |
494 | + $type = 'Externe'; | |
495 | + $lieu = $emprunts['laboratoire']; | |
496 | + if ($emprunts['emprunt_interne'] == 1) { | |
497 | + $type = 'Interne'; | |
498 | + $lieu = $sites->find() | |
499 | + ->where([ | |
500 | + 'id =' => h($emprunts->site_id) | |
501 | + ]) | |
502 | + ->first()['nom'] . '-' . h($emprunts->e_lieu_detail); | |
503 | + } | |
504 | + ?> | |
503 | 505 | <tr> |
504 | - | |
506 | + | |
505 | 507 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
506 | 508 | <?php |
507 | - if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) | |
508 | - || ($role == 'Responsable' && | |
509 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
510 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
511 | - ?> | |
512 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts', 'action' => 'edit', $emprunts->id], ['escape' => false, 'style' => 'margin:0'])?> | |
513 | - <?= $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)])?> | |
514 | - <?php } ?> | |
509 | + if (($role == 'Utilisateur' && (in_array($username, [ | |
510 | + $materiel->nom_createur, | |
511 | + $materiel->nom_responsable | |
512 | + ]))) || (in_array($role, [ | |
513 | + 'Administration', | |
514 | + 'Administration Plus', | |
515 | + 'Super Administrateur' | |
516 | + ])) || ($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)))) { | |
517 | + ?> | |
518 | + <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts','action' => 'edit',$emprunts->id], ['escape' => false,'style' => 'margin:0'])?> | |
519 | + <?=$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)])?> | |
520 | + <?php | |
521 | + | |
522 | +} | |
523 | + ?> | |
515 | 524 | </td> |
516 | - <td><?= $this->Html->link('Emprunt '.$emprunts->id, ['controller' => 'emprunts', 'action' => 'view', $emprunts->id]) ?></td> | |
517 | - <td><?= h($emprunts->nom_emprunteur) ?></td> | |
518 | - <td><?= h($type) ?></td> | |
519 | - <td><?= h($lieu) ?></td> | |
520 | - <td><?= h($emprunts->date_emprunt) ?></td> | |
521 | - <td><?= h($emprunts->date_retour_emprunt) ?></td> | |
525 | + <td><?=$this->Html->link('Emprunt ' . $emprunts->id, ['controller' => 'emprunts','action' => 'view',$emprunts->id])?></td> | |
526 | + <td><?=h($emprunts->nom_emprunteur)?></td> | |
527 | + <td><?=h($type)?></td> | |
528 | + <td><?=h($lieu)?></td> | |
529 | + <td><?=h($emprunts->date_emprunt)?></td> | |
530 | + <td><?=h($emprunts->date_retour_emprunt)?></td> | |
522 | 531 | |
523 | 532 | </tr> |
524 | - <?php endforeach; ?> | |
525 | - </table> | |
526 | - <?php }else { echo 'Aucun emprunt pour ce matériel.'; } ?> | |
533 | + <?php | |
534 | + | |
535 | +endforeach | |
536 | + ; | |
537 | + ?> | |
538 | + </table> | |
539 | + <?php | |
540 | + | |
541 | +} else { | |
542 | + echo 'Aucun emprunt pour ce matériel.'; | |
543 | + } | |
544 | + ?> | |
527 | 545 | </div> |
528 | - | |
529 | - | |
546 | + | |
547 | + | |
530 | 548 | <?php |
531 | - $nbFic = count ( $materiel->documents ); | |
532 | - ?> | |
533 | - | |
534 | - | |
549 | + $nbFic = count($materiel->documents); | |
550 | + ?> | |
551 | + | |
552 | + | |
535 | 553 | <h3 id="t_fichiers" style="cursor: pointer;"> |
536 | 554 | <i class="icon-chevron-down" style="font-size: 14px;" id="i_fichiers"></i> |
537 | - <span style="text-decoration: underline;">Fichier(s) lié(s) au matériel (<?= $nbFic ?>)</span> | |
555 | + <span style="text-decoration: underline;">Fichier(s) lié(s) au matériel (<?=$nbFic?>)</span> | |
538 | 556 | </h3> |
539 | 557 | <div id="fichiers" style="margin-bottom: 20px;"> |
540 | 558 | |
541 | - <?php if ($nbFic != 0) { ?> | |
559 | + <?php | |
560 | + | |
561 | +if ($nbFic != 0) { | |
562 | + ?> | |
542 | 563 | <table> |
543 | 564 | <tr> |
544 | - <th class="actions"><?= __('') ?></th> | |
545 | - <th><?= __('Nom') ?></th> | |
546 | - <th><?= __('Type') ?></th> | |
547 | - <th><?= __('Miniature') ?></th> | |
548 | - </tr> | |
565 | + <th class="actions"><?=__('')?></th> | |
566 | + <th><?=__('Nom')?></th> | |
567 | + <th><?=__('Type')?></th> | |
568 | + <th><?=__('Miniature')?></th> | |
569 | + </tr> | |
549 | 570 | <?php |
550 | - | |
551 | -foreach ( $materiel->documents as $documents ) : | |
552 | - | |
553 | - if ($documents->photo) { | |
554 | - $p = 'Oui'; | |
555 | - } else { | |
556 | - $p = ''; | |
557 | - } | |
558 | - $type = $typeDocuments->find ()->where ( [ | |
559 | - 'id =' => h ( $documents->type_document_id ) | |
560 | - ] )->first () ['nom']; | |
561 | - ?> | |
571 | + foreach ($materiel->documents as $documents) : | |
572 | + if ($documents->photo) { | |
573 | + $p = 'Oui'; | |
574 | + } else { | |
575 | + $p = ''; | |
576 | + } | |
577 | + $type = $typeDocuments->find() | |
578 | + ->where([ | |
579 | + 'id =' => h($documents->type_document_id) | |
580 | + ]) | |
581 | + ->first()['nom']; | |
582 | + ?> | |
562 | 583 | <tr> |
563 | - | |
584 | + | |
564 | 585 | <td class="actions" style="padding: 6px 0; text-align: left;"> |
565 | 586 | <?php |
566 | - if ($documents->photo) { | |
567 | - echo $this->Html->link ( __ ( '<i class="icon-download-alt"></i>' ), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [ | |
568 | - 'title' => 'Télécharger', | |
569 | - 'style' => 'margin:0', | |
570 | - 'escape' => false | |
571 | - ] ); | |
572 | - } else { | |
573 | - echo $this->Html->link ( __ ( '<i class="icon-download-alt"></i>' ), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [ | |
574 | - 'title' => 'Télécharger', | |
575 | - 'style' => 'margin:0', | |
576 | - 'escape' => false | |
577 | - ] ); | |
578 | - } | |
579 | - | |
580 | - if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) | |
581 | - || ($role == 'Responsable' && | |
582 | - ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) | |
583 | - ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { | |
584 | - ?> | |
585 | - <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> | |
586 | - <?= $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)])?> | |
587 | - <?php } ?> | |
587 | + if ($documents->photo) { | |
588 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [ | |
589 | + 'title' => 'Télécharger', | |
590 | + 'style' => 'margin:0', | |
591 | + 'escape' => false | |
592 | + ]); | |
593 | + } else { | |
594 | + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [ | |
595 | + 'title' => 'Télécharger', | |
596 | + 'style' => 'margin:0', | |
597 | + 'escape' => false | |
598 | + ]); | |
599 | + } | |
600 | + if (($role == 'Utilisateur' && (in_array($username, [ | |
601 | + $materiel->nom_createur, | |
602 | + $materiel->nom_responsable | |
603 | + ]))) || (in_array($role, [ | |
604 | + 'Administration', | |
605 | + 'Administration Plus', | |
606 | + 'Super Administrateur' | |
607 | + ])) || ($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)))) { | |
608 | + ?> | |
609 | + <?=$this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents','action' => 'edit',$documents->id], ['escape' => false,'style' => 'margin:0'])?> | |
610 | + <?=$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)])?> | |
611 | + <?php | |
612 | + | |
613 | +} | |
614 | + ?> | |
588 | 615 | </td> |
589 | - <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td> | |
590 | - <td><?= $type ?></td> | |
591 | - <td><?= $p ?></td> | |
592 | - | |
616 | + <td><?=$this->Html->link($documents->nom, ['controller' => 'documents','action' => 'view',$documents->id])?></td> | |
617 | + <td><?=$type?></td> | |
618 | + <td><?=$p?></td> | |
619 | + | |
593 | 620 | </tr> |
594 | - <?php endforeach; ?> | |
595 | - </table> | |
596 | - <?php }else { echo 'Aucun fichier pour ce matériel.'; } ?> | |
621 | + <?php | |
622 | + | |
623 | +endforeach | |
624 | + ; | |
625 | + ?> | |
626 | + </table> | |
627 | + <?php | |
628 | + | |
629 | +} else { | |
630 | + echo 'Aucun fichier pour ce matériel.'; | |
631 | + } | |
632 | + ?> | |
597 | 633 | </div> |
598 | 634 | |
599 | 635 | </div> |
600 | 636 | |
601 | 637 | |
602 | 638 | <div class="actions"> |
603 | - <?php echo $this->element('menu')?> | |
604 | 639 | <?php |
605 | - | |
606 | -echo $this->element ( 'menu_view', [ | |
607 | - 'pluralHumanName' => 'Matériels', | |
608 | - 'singularHumanName' => 'Matériel', | |
609 | - 'lien' => $materiel->id | |
610 | - ] )?> | |
640 | + | |
641 | +echo $this->element('menu')?> | |
642 | + <?php | |
643 | +echo $this->element('menu_view', [ | |
644 | + 'pluralHumanName' => 'Matériels', | |
645 | + 'singularHumanName' => 'Matériel', | |
646 | + 'lien' => $materiel->id | |
647 | +])?> | |
611 | 648 | </div> |
612 | 649 | \ No newline at end of file | ... | ... |
src/Template/Suivis/add.ctp
... | ... | @@ -8,24 +8,21 @@ |
8 | 8 | 'options' => $materiels, |
9 | 9 | 'default' => $this->request->params['pass'][0] |
10 | 10 | ]); |
11 | - | |
12 | 11 | echo $this->Form->input('materiel_numero_laboratoire', [ |
13 | 12 | 'label' => 'N° materiel labo', |
14 | 13 | 'default' => $materiel['numero_laboratoire'], |
15 | 14 | 'disabled' => TRUE |
16 | 15 | ]); |
17 | - echo '<div style="display:none">'; | |
16 | + | |
17 | + echo '<div id="listes" style="display:none">'; | |
18 | 18 | echo $this->Form->input('listeunite', [ |
19 | 19 | 'options' => $unite |
20 | 20 | ]); |
21 | 21 | echo $this->Form->input('listeformule', [ |
22 | 22 | 'options' => $formule |
23 | 23 | ]); |
24 | - | |
25 | 24 | echo '</div>'; |
26 | - echo $this->Form->input('listeformules', [ | |
27 | - 'options' => $formules | |
28 | - ]); | |
25 | + | |
29 | 26 | echo $this->Form->input('type_suivi_id', [ |
30 | 27 | 'label' => 'Type d\'intervention', |
31 | 28 | 'options' => $typeSuivis, |
... | ... | @@ -38,7 +35,6 @@ |
38 | 35 | echo $this->Form->input('organisme', [ |
39 | 36 | 'label' => 'Prestataire' |
40 | 37 | ]); |
41 | - | |
42 | 38 | echo $this->Form->input('groupes_thematique_id', [ |
43 | 39 | 'label' => $configuration->nom_groupe_thematique, |
44 | 40 | 'options' => $groupesThematiques, |
... | ... | @@ -49,21 +45,17 @@ |
49 | 45 | 'options' => $groupesMetiers, |
50 | 46 | 'default' => $materiel['groupes_metier_id'] |
51 | 47 | ]); |
52 | - | |
53 | 48 | echo $this->Form->input('intitule', [ |
54 | 49 | 'label' => 'Intitulé', |
55 | 50 | 'required' => 'required' |
56 | 51 | ]); |
57 | - | |
58 | 52 | echo '<div id="typedemesure">'; |
59 | 53 | echo '</div>'; |
60 | 54 | echo '<div id="metro">'; |
61 | 55 | echo '</div>'; |
62 | - | |
63 | 56 | echo $this->Form->input('commentaire', [ |
64 | 57 | 'type' => 'textarea' |
65 | 58 | ]); |
66 | - | |
67 | 59 | echo $this->Form->hidden('nom_createur', [ |
68 | 60 | 'value' => $username |
69 | 61 | ]); |
... | ... | @@ -89,25 +81,24 @@ echo $this->element('menu_form', [ |
89 | 81 | |
90 | 82 | $(document).ready(function () { |
91 | 83 | $("#type-suivi-id").bind("change", function (event) { |
92 | - var domaineId=$("#type-suivi-id :selected").text(); | |
93 | - | |
94 | - if (domaineId== "Réparation" || domaineId == "Etalonnage externe" || domaineId== "Etalonnage interne" || domaineId =="Maintenance") { | |
95 | - document.getElementById('metro').innerHTML =""; | |
96 | - document.getElementById('typedemesure').innerHTML = ""; | |
97 | - }else { | |
98 | - document.getElementById('typedemesure').innerHTML ="<div class=\"input select required\"><label for=\"typemesure\">Type de mesure</label><select name=\"typemesure\" onchange=\"typedemesure()\" id=\"typemesure\"><option value=\"1\">Direct</option><option value=\"2\">Indirect</option></select></div>"; | |
99 | - typedemesure(); | |
100 | - } | |
101 | - if( domaineId == "Réparation"){ | |
102 | - document.getElementById('frequence').innerHTML = ""; | |
103 | - $("#frequence").hide(); | |
104 | - } | |
105 | - else{ | |
106 | - $("#frequence").show(); | |
107 | - document.getElementById('frequence').innerHTML = "<div class=\"input text required\" ><table id=\"tableAlignementFrequence\" ><tbody><tr><td><div class=\"A\"><label for=\"SuiviFrequence\">Fréquence</label><input type=\"text\" name=\"frequence\" id=\"SuiviFrequence\" placeholder=\"\" required=\"required\" maxlength=\"11\"></div></td><td><div class=\"typeFrequence\" ><select name=\"type_frequence\" id=\"type-frequence\"><option value=\"/ Jours\">/ Jours</option><option value=\"/ Semaines\">/ Semaines</option><option value=\"/ Mois\" selected=\"selected\">/ Mois</option><option value=\"/ Ans\">/ Ans</option></select></div></td></tr></tbody></table></div>"; | |
108 | - | |
109 | - } | |
110 | - | |
84 | + var domaineId=$("#type-suivi-id :selected").text(); | |
85 | + | |
86 | + if (domaineId== "Vérification métrologique") { | |
87 | + document.getElementById('typedemesure').innerHTML ="<div class=\"input select required\"><label for=\"typemesure\">Type de mesure</label><select name=\"typemesure\" onchange=\"typedemesure()\" id=\"typemesure\"><option value=\"1\">Direct</option><option value=\"2\">Indirect</option></select></div>"; | |
88 | + $('#listes').show(); | |
89 | + typedemesure(); | |
90 | + } else { | |
91 | + document.getElementById('metro').innerHTML =""; | |
92 | + document.getElementById('typedemesure').innerHTML = ""; | |
93 | + $('#listes').hide(); | |
94 | + } | |
95 | + if( domaineId == "Réparation"){ | |
96 | + document.getElementById('frequence').innerHTML = ""; | |
97 | + $("#frequence").hide(); | |
98 | + } else { | |
99 | + $("#frequence").show(); | |
100 | + document.getElementById('frequence').innerHTML = "<div class=\"input text required\" ><table id=\"tableAlignementFrequence\" ><tbody><tr><td><div class=\"A\"><label for=\"SuiviFrequence\">Fréquence</label><input type=\"text\" name=\"frequence\" id=\"SuiviFrequence\" placeholder=\"\" required=\"required\" maxlength=\"11\"></div></td><td><div class=\"typeFrequence\" ><select name=\"type_frequence\" id=\"type-frequence\"><option value=\"/ Jours\">/ Jours</option><option value=\"/ Semaines\">/ Semaines</option><option value=\"/ Mois\" selected=\"selected\">/ Mois</option><option value=\"/ Ans\">/ Ans</option></select></div></td></tr></tbody></table></div>"; | |
101 | + } | |
111 | 102 | }); |
112 | 103 | }); |
113 | 104 | |
... | ... | @@ -143,9 +134,6 @@ echo $this->element('menu_form', [ |
143 | 134 | document.getElementById('metro').innerHTML +="<div class=\"input number required\" ><label for=\"valeurref\">Valeur de référence</label><input type=\"number\" name=\"valeurRef\" step=\"any\" id=\"valeurref\"></div><div class=\"input number\" ><label for=\"plage-debut\">Plage de mesure (debut)</label><input type=\"number\" name=\"plage_debut\" step=\"any\" id=\"plage-debut\"></div><div class=\"input number\" ><label for=\"plage-fin\">Plage de mesure (fin)</label><input type=\"number\" name=\"plage_fin\" step=\"any\" id=\"plage-fin\"></div>"; |
144 | 135 | document.getElementById('metro').innerHTML +="<div class=\"input number required\" ><label for=\"resolution\">Resolution</label><input type=\"number\" name=\"resolution\" step=\"any\" id=\"resolution\"></div><div class=\"input number required\" ><label for=\"tolerance\">Tolerance</label><input type=\"number\" name=\"tolerance\" step=\"any\" id=\"tolerance\"></div><div class=\"input number\" ><label for=\"sensibilite\">Sensibilité</label><input type=\"number\" name=\"sensibilite\" step=\"any\" id=\"sensibilite\"></div>"; |
145 | 136 | document.getElementById('metro').innerHTML +="<div class=\"input number \" ><label for=\"justesse\">Justesse</label><input type=\"number\" name=\"justesse\" step=\"any\" id=\"justesse\"></div><div class=\"input number \" ><label for=\"fidelite\">Fidelite</label><input type=\"number\" name=\"fidelite\" step=\"any\" id=\"fidelite\"></div><div class=\"input number required\" ><label for=\"emtstandart\">EMT standart</label><input type=\"number\" name=\"emtstandart\" step=\"any\" id=\"emtstandart\"></div>"; |
146 | - | |
147 | - | |
148 | - | |
149 | 137 | } |
150 | 138 | |
151 | 139 | function changeformule(){ |
... | ... | @@ -155,24 +143,23 @@ function changeformule(){ |
155 | 143 | var formule; |
156 | 144 | var formule_array; |
157 | 145 | $('#listeformules option').each(function() { |
158 | - if(re.test($(this).text())){ | |
159 | - formule =$(this).text(); | |
160 | - formule= formule.substring(2,formule.length-2); | |
161 | - var reg=new RegExp('[ ,:]+'); | |
162 | - formule_array = formule.split(reg); | |
163 | - var regE=new RegExp('[ "]+'); | |
164 | - for(var i=0; i< formule_array.length;i++){ | |
165 | - if(regE.test(formule_array[i])){ | |
166 | - formule_array[i]= formule_array[i].substring(1,formule_array[i].length-1); | |
167 | - } | |
146 | + if(re.test($(this).text())){ | |
147 | + formule =$(this).text(); | |
148 | + formule= formule.substring(2,formule.length-2); | |
149 | + var reg=new RegExp('[ ,:]+'); | |
150 | + formule_array = formule.split(reg); | |
151 | + var regE=new RegExp('[ "]+'); | |
152 | + for(var i=0; i< formule_array.length;i++){ | |
153 | + if(regE.test(formule_array[i])){ | |
154 | + formule_array[i]= formule_array[i].substring(1,formule_array[i].length-1); | |
155 | + } | |
168 | 156 | } |
169 | 157 | } |
170 | - }); | |
158 | +}); | |
171 | 159 | document.getElementById("nommesure").value=formule_array[4]; |
172 | 160 | document.getElementById("symbole").value=formule_array[8]; |
173 | 161 | document.getElementById("unite").value=formule_array[10]; |
174 | 162 | var var_array = new Array(<?php |
175 | - | |
176 | 163 | $variables?>); |
177 | 164 | alert(var_array); |
178 | 165 | } | ... | ... |
src/Template/Suivis/edit.ctp
... | ... | @@ -10,21 +10,17 @@ |
10 | 10 | 'options' => $materiels, |
11 | 11 | 'default' => $suivi->get('materiel_id') |
12 | 12 | ]); |
13 | - | |
14 | 13 | echo $this->Form->input('materiel_numero_laboratoire', [ |
15 | 14 | 'label' => 'N° materiel labo', |
16 | 15 | 'default' => $materiel['numero_laboratoire'], |
17 | 16 | 'disabled' => TRUE |
18 | 17 | ]); |
19 | - | |
20 | 18 | echo $this->Form->input('type_suivi_id', [ |
21 | 19 | 'label' => 'Type d\'intervention', |
22 | 20 | 'options' => $typeSuivis, |
23 | 21 | 'disabled' => TRUE |
24 | 22 | ]); |
25 | - | |
26 | 23 | echo '<div id="frequence" style="display:none">'; |
27 | - | |
28 | 24 | echo '<table id="tableAlignementFrequence"><tr><td>'; |
29 | 25 | echo $this->Form->input('frequence', [ |
30 | 26 | 'type' => 'text', |
... | ... | @@ -50,9 +46,7 @@ |
50 | 46 | 'default' => '/ Mois' |
51 | 47 | ]); |
52 | 48 | echo '</td></tr></table>'; |
53 | - | |
54 | 49 | echo '</div>'; |
55 | - | |
56 | 50 | echo $this->Form->input('statut', [ |
57 | 51 | 'options' => [ |
58 | 52 | 'En cours' => 'En cours', |
... | ... | @@ -62,7 +56,6 @@ |
62 | 56 | echo $this->Form->input('organisme', [ |
63 | 57 | 'label' => 'Prestataire' |
64 | 58 | ]); |
65 | - | |
66 | 59 | echo $this->Form->input('groupes_thematique_id', [ |
67 | 60 | 'label' => $configuration->nom_groupe_thematique, |
68 | 61 | 'options' => $groupesThematiques, |
... | ... | @@ -73,7 +66,6 @@ |
73 | 66 | 'options' => $groupesMetiers, |
74 | 67 | 'default' => $materiel['groupes_metier_id'] |
75 | 68 | ]); |
76 | - | |
77 | 69 | echo $this->Form->input('intitule', [ |
78 | 70 | 'label' => 'Intitulé' |
79 | 71 | ]); |
... | ... | @@ -90,11 +82,9 @@ |
90 | 82 | ]); |
91 | 83 | echo '</div>'; |
92 | 84 | echo '<div id="metro" style="display:none">'; |
93 | - | |
94 | 85 | echo $this->Form->input('nommesure', [ |
95 | 86 | 'label' => 'Nom de la mesure' |
96 | 87 | // 'required' => 'required' |
97 | - | |
98 | 88 | ]); |
99 | 89 | echo $this->Form->input('symbole', [ |
100 | 90 | 'label' => 'Symbole' |
... | ... | @@ -109,48 +99,38 @@ |
109 | 99 | echo $this->Form->input('valeurRef', [ |
110 | 100 | 'label' => 'Valeur de référence' |
111 | 101 | // 'required' => 'required' |
112 | - | |
113 | 102 | ]); |
114 | 103 | echo $this->Form->input('plage_debut', [ |
115 | 104 | 'label' => 'Plage de mesure (debut)' |
116 | - | |
117 | 105 | ]); |
118 | 106 | echo $this->Form->input('plage_fin', [ |
119 | 107 | 'label' => 'Plage de mesure (fin)' |
120 | - | |
121 | 108 | ]); |
122 | 109 | echo $this->Form->input('resolution', [ |
123 | 110 | 'label' => 'Resolution' |
124 | 111 | // 'required' => 'required' |
125 | - | |
126 | 112 | ]); |
127 | 113 | echo $this->Form->input('tolerance', [ |
128 | 114 | 'label' => 'Tolerance' |
129 | 115 | // 'required' => 'required' |
130 | - | |
131 | 116 | ]); |
132 | 117 | echo $this->Form->input('sensibilite', [ |
133 | 118 | 'label' => 'Sensibilité' |
134 | - | |
135 | 119 | ]); |
136 | 120 | echo $this->Form->input('justesse', [ |
137 | 121 | 'label' => 'Justesse' |
138 | - | |
139 | 122 | ]); |
140 | - | |
141 | 123 | echo $this->Form->input('fidelite', [ |
142 | 124 | 'label' => 'Fidelite' |
143 | 125 | ]); |
144 | 126 | echo $this->Form->input('emtstandart', [ |
145 | 127 | 'label' => 'EMT standart' |
146 | 128 | // 'required' => 'required' |
147 | - | |
148 | 129 | ]); |
149 | 130 | echo '</div>'; |
150 | 131 | echo $this->Form->input('commentaire', [ |
151 | 132 | 'type' => 'textarea' |
152 | 133 | ]); |
153 | - | |
154 | 134 | echo $this->Form->hidden('nom_modificateur', [ |
155 | 135 | 'value' => $username |
156 | 136 | ]); |
... | ... | @@ -175,25 +155,7 @@ $(document).ready(function () { |
175 | 155 | |
176 | 156 | var domaineId=$("#type-suivi-id :selected").text(); |
177 | 157 | |
178 | - if ( domaineId == "Réparation" | |
179 | - || domaineId == "Etalonnage externe" | |
180 | - || domaineId == "Etalonnage interne" | |
181 | - || domaineId == "Maintenance") { | |
182 | - | |
183 | - $("#metro").hide(); | |
184 | - $("#nommesure").attr('required',false); | |
185 | - $("#symbole").attr('required',false); | |
186 | - $("#unite_id").attr('required',false); | |
187 | - $("#valeurRef").attr('required',false); | |
188 | - $("#resolution").attr('required',false); | |
189 | - $("#tolerance").attr('required',false); | |
190 | - $("#emtstandart").attr('required',false); | |
191 | - | |
192 | - $("#typedemesure").hide(); | |
193 | - $("#typedemesure").attr('required',false); | |
194 | - | |
195 | - }else { | |
196 | - | |
158 | + if (domaineId == "Vérification métrologique") { | |
197 | 159 | $("#metro").show(); |
198 | 160 | $("#nommesure").attr('required',true); |
199 | 161 | $("#symbole").attr('required',true); |
... | ... | @@ -202,17 +164,23 @@ $(document).ready(function () { |
202 | 164 | $("#resolution").attr('required',true); |
203 | 165 | $("#tolerance").attr('required',true); |
204 | 166 | $("#emtstandart").attr('required',true); |
205 | - | |
206 | 167 | $("#typedemesure").show(); |
207 | 168 | $("#typedemesure").attr('required',true); |
169 | + } else if (<?=$materiel['metrologie']?> == 1) { | |
170 | + $("#metro").hide(); | |
171 | + $("#nommesure").attr('required',false); | |
172 | + $("#symbole").attr('required',false); | |
173 | + $("#unite_id").attr('required',false); | |
174 | + $("#valeurRef").attr('required',false); | |
175 | + $("#resolution").attr('required',false); | |
176 | + $("#tolerance").attr('required',false); | |
177 | + $("#emtstandart").attr('required',false); | |
178 | + $("#typedemesure").hide(); | |
179 | + $("#typedemesure").attr('required',false); | |
208 | 180 | } |
209 | 181 | |
210 | - if( domaineId == "Réparation"){ | |
211 | - $("#frequence").hide(); | |
212 | - } | |
213 | - else{ | |
214 | - $("#frequence").show(); | |
215 | - } | |
182 | + if(domaineId == "Réparation") $("#frequence").hide(); | |
183 | + else $("#frequence").show(); | |
216 | 184 | |
217 | 185 | }); |
218 | 186 | ... | ... |