Commit aca4ed9be4febe1876a03ce0c08c2de0920dda27

Authored by Alexandre
1 parent 8eb47d08

Version: 2.5.4.0

!!! Se placer dans database/update et exécuter le script
./db-update-2016-06-30.sh !!!

statut suivi + modif icone + liste - cacher n/a + divers ajustements +
envoi mails + bugfixes 
	   
Demande terminé : https://projects.irap.omp.eu/issues/3759	
				  https://projects.irap.omp.eu/issues/3923   
				  https://projects.irap.omp.eu/issues/3922 
				  https://projects.irap.omp.eu/issues/3917  
	   
Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99

ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
README-LABINVENT.md
@@ -50,10 +50,17 @@ Logiciel testé et validé sur les configurations suivantes : @@ -50,10 +50,17 @@ Logiciel testé et validé sur les configurations suivantes :
50 50
51 VERSION ACTUELLE 51 VERSION ACTUELLE
52 52
53 -Date: 29/06/2016  
54 -Version: 2.5.3.1 53 +Date: 30/06/2016
  54 +Version: 2.5.4.0
55 55
56 -bugfixes 56 +!!! Se placer dans database/update et exécuter le script ./db-update-2016-06-30.sh !!!
  57 +
  58 +statut suivi + modif icone + liste - cacher n/a + divers ajustements + envoi mails + bugfixes
  59 +
  60 +Demande terminé : https://projects.irap.omp.eu/issues/3759
  61 + https://projects.irap.omp.eu/issues/3923
  62 + https://projects.irap.omp.eu/issues/3922
  63 + https://projects.irap.omp.eu/issues/3917
57 64
58 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 65 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
59 66
@@ -92,6 +99,8 @@ Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/c @@ -92,6 +99,8 @@ Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/c
92 99
93 MODIFICATIONS STRUCTURELLES A FAIRE MANUELLEMENT APRES LA MISE A JOUR (git pull) 100 MODIFICATIONS STRUCTURELLES A FAIRE MANUELLEMENT APRES LA MISE A JOUR (git pull)
94 101
  102 +30/06/16 (v2.5.4.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-30.sh
  103 +
95 28/06/16 (v2.5.1.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-28.sh 104 28/06/16 (v2.5.1.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-28.sh
96 105
97 27/06/16 (v2.5.0.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-27.sh 106 27/06/16 (v2.5.0.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-27.sh
database/labinvent_2.1_12-05-16.sql
@@ -255,6 +255,7 @@ CREATE TABLE IF NOT EXISTS `suivis` ( @@ -255,6 +255,7 @@ CREATE TABLE IF NOT EXISTS `suivis` (
255 `panne_resolu` tinyint(1) DEFAULT 1, 255 `panne_resolu` tinyint(1) DEFAULT 1,
256 `groupes_thematique_id` int(11) DEFAULT NULL, 256 `groupes_thematique_id` int(11) DEFAULT NULL,
257 `groupes_metier_id` int(11) DEFAULT NULL, 257 `groupes_metier_id` int(11) DEFAULT NULL,
  258 + `statut` varchar(30) DEFAULT 'En cours',
258 `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', 259 `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche',
259 `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', 260 `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche',
260 `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', 261 `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche',
database/update/db-update-2016-06-30.sh 0 → 100755
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +#!/bin/bash
  2 +
  3 +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente
  4 +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur
  5 +# Pour cela, il suffit d'executer ces 2 lignes :
  6 +# cp ce_script.sh ce_script_macosx.sh
  7 +# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh
  8 +
  9 +if [ ! -f ../../config/app.php ] ; then
  10 +echo "Vous devez executer ce script depuis le dossier database/update/"
  11 +exit 1
  12 +fi
  13 +
  14 +
  15 +# Get login, pass, dbname, and hostname
  16 +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4)
  17 +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4)
  18 +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4)
  19 +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4)
  20 +
  21 +
  22 +cp -p ./script_sql/db-update-2016-06-30.sql ./script_sql/db-update-2016-06-30-build.sql
  23 +
  24 +# Execute sql update script
  25 +sed -e "s/database/$database/" -i ./script_sql/db-update-2016-06-30-build.sql
  26 +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2016-06-30-build.sql
  27 +
  28 +# Delete cakephp cache
  29 +sudo rm ../../tmp/cache/models/*
  30 +sudo rm ../../tmp/cache/persistent/*
  31 +
  32 +sudo chmod -R 777 ../../tmp
  33 +sudo chmod -R 777 ../../vendor
  34 +sudo chmod -R 777 ../../webroot
database/update/script_sql/db-update-2016-06-30.sql 0 → 100755
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +use database;
  2 +
  3 +ALTER TABLE `suivis` ADD `statut` varchar(30) DEFAULT 'En cours';
src/Controller/AppController.php
@@ -191,6 +191,45 @@ class AppController extends Controller @@ -191,6 +191,45 @@ class AppController extends Controller
191 } 191 }
192 192
193 /** 193 /**
  194 + * @param string $subject
  195 + * @param string $message
  196 + * @param string[] $to
  197 + */
  198 + public function sendEmailTo($subject, $message, $to = null) {
  199 +
  200 + $configuration = TableRegistry::get('Configurations')->find()->where(['id =' => 1])->first();
  201 +
  202 + if ($to != null && !$configuration->test) {
  203 +
  204 + for($i = 0; $i < sizeof($to); $i++) {
  205 +
  206 +
  207 + if (filter_var($to[$i], FILTER_VALIDATE_EMAIL)) {
  208 + $email = new Email();
  209 +
  210 + $etiquetteFrom = explode("@", $configuration->sender_mail);
  211 +
  212 + if($configuration->envoi_mail_management_dev) {
  213 + $email->transport('dev')
  214 + ->from([$configuration->sender_mail => $etiquetteFrom[0]])
  215 + ->to($to[$i])
  216 + ->subject("[LabInvent] ".$subject)
  217 + ->send($message);
  218 + } else {
  219 + $email->transport('default')
  220 + ->from([$configuration->sender_mail => $etiquetteFrom[0]])
  221 + ->to($to[$i])
  222 + ->subject("[LabInvent] ".$subject)
  223 + ->send($message);
  224 + }
  225 + }
  226 +
  227 + }
  228 + }
  229 +
  230 + }
  231 +
  232 + /**
194 * Envoi d'un email à la gestion (et aux devs) pour prévenir qu'un matériel a été créé ou modifié 233 * Envoi d'un email à la gestion (et aux devs) pour prévenir qu'un matériel a été créé ou modifié
195 * (cf howto dans http://book.cakephp.org/2.0/fr/core-utility-libraries/email.html) 234 * (cf howto dans http://book.cakephp.org/2.0/fr/core-utility-libraries/email.html)
196 * @param string $subject 235 * @param string $subject
@@ -317,21 +356,23 @@ class AppController extends Controller @@ -317,21 +356,23 @@ class AppController extends Controller
317 if($role == null) $role = 'Utilisateur'; 356 if($role == null) $role = 'Utilisateur';
318 357
319 $subject = 'Ajout d\'un matériel'; 358 $subject = 'Ajout d\'un matériel';
320 - $message = $createurName.' (email = '.$createurEmail.', role = '.$role.') a ajouté le matériel "'.$materiel->designation.'" et vous a nommé propriétaire de ce matériel.'; 359 + $message = $createurName.' (email = '.$createurEmail.', role = '.$role.') a ajouté le matériel "'.$materiel->designation.'" ('.$materiel->numero_laboratoire.') et vous a nommé propriétaire de ce matériel.';
321 360
322 if ($toEmail != null && !$configuration->test) { 361 if ($toEmail != null && !$configuration->test) {
323 if (filter_var($toEmail, FILTER_VALIDATE_EMAIL)) { 362 if (filter_var($toEmail, FILTER_VALIDATE_EMAIL)) {
324 $email = new Email(); 363 $email = new Email();
325 - 364 +
  365 + $etiquetteFrom = explode("@", $configuration->sender_mail);
  366 +
326 if($configuration->envoi_mail_management_dev) { 367 if($configuration->envoi_mail_management_dev) {
327 $email->transport('dev') 368 $email->transport('dev')
328 - ->from(["labinvent2@".$configuration->from_mail => "Labinvent2"]) 369 + ->from([$configuration->sender_mail => $etiquetteFrom[0]])
329 ->to($toEmail) 370 ->to($toEmail)
330 ->subject("[LabInvent] ".$subject) 371 ->subject("[LabInvent] ".$subject)
331 ->send($message); 372 ->send($message);
332 } else { 373 } else {
333 $email->transport('default') 374 $email->transport('default')
334 - ->from(["labinvent2@".$configuration->from_mail => "Labinvent2"]) 375 + ->from([$configuration->sender_mail => $etiquetteFrom[0]])
335 ->to($toEmail) 376 ->to($toEmail)
336 ->subject("[LabInvent] ".$subject) 377 ->subject("[LabInvent] ".$subject)
337 ->send($message); 378 ->send($message);
src/Controller/DocumentsController.php
@@ -184,10 +184,13 @@ class DocumentsController extends AppController @@ -184,10 +184,13 @@ class DocumentsController extends AppController
184 184
185 if(isset($this->passedArgs[2]) && $this->passedArgs[2] == 'photo') { 185 if(isset($this->passedArgs[2]) && $this->passedArgs[2] == 'photo') {
186 $this->set('photo', 1); 186 $this->set('photo', 1);
187 - }  
188 - 187 + $typesD = $this->Documents->TypeDocuments->find('list', [ 'keyField' => 'id', 'valueField' => 'nom'])->where(['nom =' => 'Photo']);
  188 + $idType = $this->Documents->TypeDocuments->find()->where(['nom =' => 'Photo'])->first()['id'];
  189 + $this->set('idType', $idType);
  190 + } else {
  191 + $typesD = $this->Documents->TypeDocuments->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'TypeDocuments.nom']);
  192 + }
189 193
190 - $typesD = $this->Documents->TypeDocuments->find('list', [ 'keyField' => 'id', 'valueField' => 'nom', 'order' => 'TypeDocuments.nom']);  
191 194
192 $this->set(compact('document', 'typesD')); 195 $this->set(compact('document', 'typesD'));
193 $this->set('_serialize', ['document']); 196 $this->set('_serialize', ['document']);
src/Controller/MaterielsController.php
@@ -252,10 +252,30 @@ class MaterielsController extends AppController @@ -252,10 +252,30 @@ class MaterielsController extends AppController
252 $materiel = $this->Materiels->patchEntity($materiel, $this->request->data); 252 $materiel = $this->Materiels->patchEntity($materiel, $this->request->data);
253 if ($this->Materiels->save($materiel)) { 253 if ($this->Materiels->save($materiel)) {
254 $this->Flash->success(__('Le matériel a bien été ajouté.')); 254 $this->Flash->success(__('Le matériel a bien été ajouté.'));
  255 +
255 $this->sendEmailToManagement($materiel->id); 256 $this->sendEmailToManagement($materiel->id);
  257 +
256 if($materiel->nom_createur != $materiel->nom_responsable) { 258 if($materiel->nom_createur != $materiel->nom_responsable) {
257 $this->sendEmailToCreate($materiel->id); 259 $this->sendEmailToCreate($materiel->id);
258 } 260 }
  261 +
  262 + $message = $materiel->get('nom_createur').' a ajouté le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.')';
  263 +
  264 + $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->get('groupes_metier_id')])->orWhere(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->get('groupes_thematique_id')])->toArray();
  265 + $mails = [];
  266 + for($i = 0; $i < sizeof($mailsResp); $i++) {
  267 + $mails[$i] = $mailsResp[$i]['email'];
  268 + }
  269 + $this->sendEmailTo('Ajout d\'un matériel', $message, $mails);
  270 +
  271 + $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Administration Plus'])->orWhere(['role =' => 'Administration'])->toArray();
  272 + $mails = [];
  273 + for($i = 0; $i < sizeof($mailsResp); $i++) {
  274 + $mails[$i] = $mailsResp[$i]['email'];
  275 + }
  276 + $this->sendEmailTo('Ajout d\'un matériel', $message, $mails);
  277 +
  278 +
259 return $this->redirect(['action' => 'view', $materiel->id]); 279 return $this->redirect(['action' => 'view', $materiel->id]);
260 } else { 280 } else {
261 $this->Flash->error(__('Le matériel n\'a pas pu être ajouté.')); 281 $this->Flash->error(__('Le matériel n\'a pas pu être ajouté.'));
@@ -307,6 +327,10 @@ class MaterielsController extends AppController @@ -307,6 +327,10 @@ class MaterielsController extends AppController
307 if ($this->Materiels->save($materiel)) { 327 if ($this->Materiels->save($materiel)) {
308 $this->Flash->success(__('Le matériel a bien été édité.')); 328 $this->Flash->success(__('Le matériel a bien été édité.'));
309 $this->sendEmailToManagement($id); 329 $this->sendEmailToManagement($id);
  330 + if($materiel->nom_modificateur != $materiel->nom_responsable) {
  331 + $message = $materiel->get('nom_modificateur').' a édité le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.')';
  332 + $this->sendEmailTo('Modification d\'un matériel', $message, [$materiel->get('email_responsable')]);
  333 + }
310 return $this->redirect(['action' => 'view', $id]); 334 return $this->redirect(['action' => 'view', $id]);
311 } else { 335 } else {
312 $this->Flash->error(__('Le matériel n\'a pas pu être édité.')); 336 $this->Flash->error(__('Le matériel n\'a pas pu être édité.'));
@@ -448,9 +472,11 @@ class MaterielsController extends AppController @@ -448,9 +472,11 @@ class MaterielsController extends AppController
448 472
449 if($newStatus == 'VALIDATED') { 473 if($newStatus == 'VALIDATED') {
450 if(!isset($materiel->nom_responsable) || !isset($materiel->fournisseur) || !isset($materiel->numero_commande) || !isset($materiel->organisme_id) || !isset($materiel->date_reception) || !isset($materiel->prix_ht)) { 474 if(!isset($materiel->nom_responsable) || !isset($materiel->fournisseur) || !isset($materiel->numero_commande) || !isset($materiel->organisme_id) || !isset($materiel->date_reception) || !isset($materiel->prix_ht)) {
451 - $this->Flash->success('Pour valider un matériel, les champs suivants ne doivent pas être vide : Nom propriétaire, Fournisseur, Numéro de commande, Organisme, prix et date de reception'); 475 + $this->Flash->error('Pour valider un matériel, les champs suivants ne doivent pas être vide : Nom propriétaire, Fournisseur, Numéro de commande, Organisme, prix et date de reception');
452 return $this->redirect(['action' => 'edit', $id]); 476 return $this->redirect(['action' => 'edit', $id]);
453 } 477 }
  478 + $message = 'Le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.') a été validé.';
  479 + $this->sendEmailTo('Validation d\'un matériel', $message, [$materiel->get('email_responsable')]);
454 } 480 }
455 481
456 if ($this->Materiels->save($materiel, ['checkRules' => false, 'checkExisting' => false])) { 482 if ($this->Materiels->save($materiel, ['checkRules' => false, 'checkExisting' => false])) {
src/Controller/SuivisController.php
@@ -235,6 +235,7 @@ class SuivisController extends AppController @@ -235,6 +235,7 @@ class SuivisController extends AppController
235 $periode_interventionRequest, 235 $periode_interventionRequest,
236 $this->getConditionForFieldNumber('type_suivi_id'), 236 $this->getConditionForFieldNumber('type_suivi_id'),
237 $this->getConditionForField('organisme'), 237 $this->getConditionForField('organisme'),
  238 + $this->getConditionForField('statut'),
238 $this->getConditionForFieldNumber('groupes_metier_id'), 239 $this->getConditionForFieldNumber('groupes_metier_id'),
239 $this->getConditionForFieldNumber('groupes_thematique_id'), 240 $this->getConditionForFieldNumber('groupes_thematique_id'),
240 ]; 241 ];
src/Model/Entity/Suivi.php
@@ -23,6 +23,7 @@ use Cake\ORM\Entity; @@ -23,6 +23,7 @@ use Cake\ORM\Entity;
23 * @property string $commentaire 23 * @property string $commentaire
24 * @property string $nom_createur 24 * @property string $nom_createur
25 * @property string $nom_modificateur 25 * @property string $nom_modificateur
  26 + * @property string $statut
26 * @property bool panne_resolu 27 * @property bool panne_resolu
27 * @property \Cake\I18n\Time $created 28 * @property \Cake\I18n\Time $created
28 * @property \Cake\I18n\Time $modified 29 * @property \Cake\I18n\Time $modified
src/Template/Documents/add.ctp
@@ -16,7 +16,14 @@ @@ -16,7 +16,14 @@
16 } 16 }
17 17
18 echo $this->Form->input('nom'); 18 echo $this->Form->input('nom');
19 - echo $this->Form->input('type_document_id', ['label' => 'Type', 'options' => $typesD, 'default' => 1]); 19 +
  20 + if(isset($photo)) {
  21 + echo $this->Form->hidden('type_document_id', ['label' => 'Type', 'options' => $typesD, 'default' => $idType]);
  22 + }
  23 + else {
  24 + echo $this->Form->input('type_document_id', ['label' => 'Type', 'options' => $typesD, 'default' => 1]);
  25 + }
  26 +
20 echo $this->Form->input('description'); 27 echo $this->Form->input('description');
21 echo $this->Form->input('chemin_file', ['label' => 'Fichier ('.substr($configuration->taille_max_doc/(1024*1024), 0, 4).' Mo max)', 'type' => 'file']); 28 echo $this->Form->input('chemin_file', ['label' => 'Fichier ('.substr($configuration->taille_max_doc/(1024*1024), 0, 4).' Mo max)', 'type' => 'file']);
22 29
src/Template/Documents/edit.ctp
@@ -16,7 +16,14 @@ @@ -16,7 +16,14 @@
16 } 16 }
17 17
18 echo $this->Form->input('nom'); 18 echo $this->Form->input('nom');
19 - echo $this->Form->input('type_document_id', ['label' => 'Type', 'options' => $typesD, 'default' => 1]); 19 +
  20 + if(isset($photo)) {
  21 + echo $this->Form->hidden('type_document_id', ['label' => 'Type', 'options' => $typesD]);
  22 + }
  23 + else {
  24 + echo $this->Form->input('type_document_id', ['label' => 'Type', 'options' => $typesD]);
  25 + }
  26 +
20 echo $this->Form->input('description'); 27 echo $this->Form->input('description');
21 28
22 echo $this->Form->hidden('chemin_file', ['label' => 'Fichier ('.substr($configuration->taille_max_doc/(1024*1024), 0, 4).' Mo max)', 'type' => 'file']); 29 echo $this->Form->hidden('chemin_file', ['label' => 'Fichier ('.substr($configuration->taille_max_doc/(1024*1024), 0, 4).' Mo max)', 'type' => 'file']);
src/Template/Documents/index.ctp
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <th><?= $this->Paginator->sort('suivi_id', 'Suivi') ?></th> 9 <th><?= $this->Paginator->sort('suivi_id', 'Suivi') ?></th>
10 <th><?= $this->Paginator->sort('type_document_id', 'Type') ?></th> 10 <th><?= $this->Paginator->sort('type_document_id', 'Type') ?></th>
11 <th><?= $this->Paginator->sort('type_doc', 'Extension fichier') ?></th> 11 <th><?= $this->Paginator->sort('type_doc', 'Extension fichier') ?></th>
12 - <th><?= $this->Paginator->sort('photo', 'Photo') ?></th> 12 + <th><?= $this->Paginator->sort('photo', 'Miniature') ?></th>
13 <th class="actions"><?= __('') ?></th> 13 <th class="actions"><?= __('') ?></th>
14 </tr> 14 </tr>
15 </thead> 15 </thead>
@@ -40,12 +40,12 @@ @@ -40,12 +40,12 @@
40 <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $document->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 40 <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $document->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
41 <?php 41 <?php
42 if($document->photo) { 42 if($document->photo) {
43 - echo $this->Form->postLink(__('<i class="icon-download"></i>'), '/webroot/img/photos/'.$document->id.'.'.$document->type_doc, ['title' => 'Télécharger', 'style' => 'margin: 0 2px', 'escape' => false ]); 43 + echo $this->Form->postLink(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/'.$document->id.'.'.$document->type_doc, ['title' => 'Télécharger', 'style' => 'margin: 0 2px', 'escape' => false ]);
44 }else { 44 }else {
45 - echo $this->Form->postLink(__('<i class="icon-download"></i>'), '/webroot/files/'.$document->id.'.'.$document->type_doc, ['title' => 'Télécharger', 'style' => 'margin: 0 2px', 'escape' => false ]); 45 + echo $this->Form->postLink(__('<i class="icon-download-alt"></i>'), '/webroot/files/'.$document->id.'.'.$document->type_doc, ['title' => 'Télécharger', 'style' => 'margin: 0 2px', 'escape' => false ]);
46 } 46 }
47 ?> 47 ?>
48 - <?= $this->Html->link(__('<i class="icon-edit"></i>'), ['action' => 'edit', $document->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false]) ?> 48 + <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $document->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false]) ?>
49 49
50 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $document->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $document->id)]) ?> 50 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $document->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $document->id)]) ?>
51 </td> 51 </td>
src/Template/Documents/view.ctp
@@ -2,7 +2,16 @@ @@ -2,7 +2,16 @@
2 2
3 <div class="documents view"> 3 <div class="documents view">
4 <h2>Détail document</h2> 4 <h2>Détail document</h2>
5 - 5 + <?php
  6 + if($document->photo) {
  7 + echo '<div style="text-align: center;">';
  8 + echo $this->Html->image ( 'photos/' . $document->id.'.'.$document->type_doc, [
  9 + 'alt' => 'Photo',
  10 + 'style' => 'max-width: 300px; text-align: center;'
  11 + ]);
  12 + echo '</div>';
  13 + }
  14 + ?>
6 <table style="margin-bottom: 30px;"> 15 <table style="margin-bottom: 30px;">
7 <tr><th style="width: 250px;"></th><th></th></tr> 16 <tr><th style="width: 250px;"></th><th></th></tr>
8 17
@@ -18,6 +27,13 @@ @@ -18,6 +27,13 @@
18 $displayElement(__('Nom'), h($document->nom)); 27 $displayElement(__('Nom'), h($document->nom));
19 $displayElement(__('Type'), $document->has('type_document') ? h($document->type_document->nom) : ''); 28 $displayElement(__('Type'), $document->has('type_document') ? h($document->type_document->nom) : '');
20 29
  30 + if($document->photo) {
  31 + $p = 'Oui';
  32 + } else {
  33 + $p = 'Non';
  34 + }
  35 + $displayElement(__('Miniature'), $p);
  36 +
21 echo '<tr><td><strong>'.__('Description').' </strong></td><td>'.nl2br($document->description).'</td></tr>'; 37 echo '<tr><td><strong>'.__('Description').' </strong></td><td>'.nl2br($document->description).'</td></tr>';
22 38
23 $displayElement(__('Extension fichier'), h($document->type_doc)); 39 $displayElement(__('Extension fichier'), h($document->type_doc));
@@ -29,8 +45,6 @@ @@ -29,8 +45,6 @@
29 echo '<tr><td><strong>Fichier</strong></td><td><a href="'.$this->request->webroot.'webroot/files/'.$document->id.'.'.$document->type_doc.'">Télécharger fichier</a></td></tr>'; 45 echo '<tr><td><strong>Fichier</strong></td><td><a href="'.$this->request->webroot.'webroot/files/'.$document->id.'.'.$document->type_doc.'">Télécharger fichier</a></td></tr>';
30 } 46 }
31 47
32 -  
33 -  
34 48
35 49
36 ?> 50 ?>
src/Template/GroupesMetiers/index.ctp
@@ -10,7 +10,9 @@ @@ -10,7 +10,9 @@
10 </tr> 10 </tr>
11 </thead> 11 </thead>
12 <tbody> 12 <tbody>
13 - <?php foreach ($groupesMetiers as $groupesMetier): ?> 13 + <?php foreach ($groupesMetiers as $groupesMetier):
  14 + if($groupesMetier->nom != 'N/A') {
  15 + ?>
14 <tr> 16 <tr>
15 <td class="smallText"><?= $this->Html->link($groupesMetier->nom, ['action' => 'view', $groupesMetier->id]) ?></td> 17 <td class="smallText"><?= $this->Html->link($groupesMetier->nom, ['action' => 'view', $groupesMetier->id]) ?></td>
16 <td class="smallText"><?= h($groupesMetier->description) ?></td> 18 <td class="smallText"><?= h($groupesMetier->description) ?></td>
@@ -28,7 +30,9 @@ @@ -28,7 +30,9 @@
28 </td> 30 </td>
29 31
30 </tr> 32 </tr>
31 - <?php endforeach; ?> 33 + <?php
  34 + }
  35 + endforeach; ?>
32 </tbody> 36 </tbody>
33 </table> 37 </table>
34 38
src/Template/GroupesThematiques/index.ctp
@@ -10,7 +10,8 @@ @@ -10,7 +10,8 @@
10 </tr> 10 </tr>
11 </thead> 11 </thead>
12 <tbody> 12 <tbody>
13 - <?php foreach ($groupesThematiques as $groupesThematique): ?> 13 + <?php foreach ($groupesThematiques as $groupesThematique):
  14 + if($groupesThematique->nom != 'N/A') {?>
14 <tr> 15 <tr>
15 <td class="smallText"><?= $this->Html->link($groupesThematique->nom, ['action' => 'view', $groupesThematique->id]) ?></td> 16 <td class="smallText"><?= $this->Html->link($groupesThematique->nom, ['action' => 'view', $groupesThematique->id]) ?></td>
16 <td class="smallText"><?= h($groupesThematique->description) ?></td> 17 <td class="smallText"><?= h($groupesThematique->description) ?></td>
@@ -28,7 +29,9 @@ @@ -28,7 +29,9 @@
28 </td> 29 </td>
29 30
30 </tr> 31 </tr>
31 - <?php endforeach; ?> 32 + <?php
  33 + }
  34 + endforeach; ?>
32 </tbody> 35 </tbody>
33 </table> 36 </table>
34 37
src/Template/Layout/default.ctp
@@ -94,7 +94,7 @@ $cakeDescription = &#39;Labinvent 2&#39;; @@ -94,7 +94,7 @@ $cakeDescription = &#39;Labinvent 2&#39;;
94 </i></td> 94 </i></td>
95 <td id="version"> 95 <td id="version">
96 <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> 96 <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) -->
97 - <font color="black">VERSION 2.5.3.1 (29/06/2016)</font> 97 + <font color="black">VERSION 2.5.4.0 (30/06/2016)</font>
98 </td> 98 </td>
99 </tr> 99 </tr>
100 </table> 100 </table>
src/Template/Materiels/view.ctp
@@ -402,18 +402,22 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -402,18 +402,22 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
402 <?php if (!empty($materiel->suivis)) { ?> 402 <?php if (!empty($materiel->suivis)) { ?>
403 <table> 403 <table>
404 <tr> 404 <tr>
  405 + <th><?= __('N°') ?></th>
405 <th><?= __('Prestataire') ?></th> 406 <th><?= __('Prestataire') ?></th>
406 <th><?= __('Date du contrôle') ?></th> 407 <th><?= __('Date du contrôle') ?></th>
407 <th><?= __('Date prochain contrôle') ?></th> 408 <th><?= __('Date prochain contrôle') ?></th>
408 <th><?= __('Type d\'intervention') ?></th> 409 <th><?= __('Type d\'intervention') ?></th>
  410 + <th><?= __('Statut') ?></th>
409 <th style="width: 50px;"><?= __('Détail') ?></th> 411 <th style="width: 50px;"><?= __('Détail') ?></th>
410 </tr> 412 </tr>
411 <?php foreach ($materiel->suivis as $suivis): ?> 413 <?php foreach ($materiel->suivis as $suivis): ?>
412 <tr> 414 <tr>
  415 + <td><?= $this->Html->link('Suivi '.$suivis->id, ['controller' => 'suivis', 'action' => 'view', $suivis->id]) ?></td>
413 <td><?= h($suivis->organisme) ?></td> 416 <td><?= h($suivis->organisme) ?></td>
414 <td><?= h($suivis->date_controle) ?></td> 417 <td><?= h($suivis->date_controle) ?></td>
415 <td><?= h($suivis->date_prochain_controle) ?></td> 418 <td><?= h($suivis->date_prochain_controle) ?></td>
416 <td><?= $typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom']; ?></td> 419 <td><?= $typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom']; ?></td>
  420 + <td><?= h($suivis->statut) ?></td>
417 421
418 <td class="actions"> 422 <td class="actions">
419 <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Suivis', 'action' => 'view', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?> 423 <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Suivis', 'action' => 'view', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?>
@@ -435,6 +439,7 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -435,6 +439,7 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
435 <?php if (!empty($materiel->emprunts)) { ?> 439 <?php if (!empty($materiel->emprunts)) { ?>
436 <table> 440 <table>
437 <tr> 441 <tr>
  442 + <th><?= __('N°') ?></th>
438 <th><?= __('Emprunteur') ?></th> 443 <th><?= __('Emprunteur') ?></th>
439 <th><?= __('Type d\'Emprunt') ?></th> 444 <th><?= __('Type d\'Emprunt') ?></th>
440 <th><?= __('Où') ?></th> 445 <th><?= __('Où') ?></th>
@@ -456,6 +461,7 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) : @@ -456,6 +461,7 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) :
456 } 461 }
457 ?> 462 ?>
458 <tr> 463 <tr>
  464 + <td><?= $this->Html->link('Emprunt '.$emprunts->id, ['controller' => 'emprunts', 'action' => 'view', $emprunts->id]) ?></td>
459 <td><?= h($emprunts->nom_emprunteur) ?></td> 465 <td><?= h($emprunts->nom_emprunteur) ?></td>
460 <td><?= h($type) ?></td> 466 <td><?= h($type) ?></td>
461 <td><?= h($lieu) ?></td> 467 <td><?= h($lieu) ?></td>
@@ -488,7 +494,7 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) : @@ -488,7 +494,7 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) :
488 <tr> 494 <tr>
489 <th><?= __('Nom') ?></th> 495 <th><?= __('Nom') ?></th>
490 <th><?= __('Type') ?></th> 496 <th><?= __('Type') ?></th>
491 - <th><?= __('Photo') ?></th> 497 + <th><?= __('Miniature') ?></th>
492 <th style="width: 50px;"><?= __('Détail') ?></th> 498 <th style="width: 50px;"><?= __('Détail') ?></th>
493 <th style="width: 50px;"><?= __('Télécharger') ?></th> 499 <th style="width: 50px;"><?= __('Télécharger') ?></th>
494 <?php 500 <?php
@@ -512,7 +518,8 @@ foreach ( $materiel-&gt;documents as $documents ) : @@ -512,7 +518,8 @@ foreach ( $materiel-&gt;documents as $documents ) :
512 ] )->first () ['nom']; 518 ] )->first () ['nom'];
513 ?> 519 ?>
514 <tr> 520 <tr>
515 - <td><?= h($documents->nom) ?></td> 521 +
  522 + <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td>
516 <td><?= $type ?></td> 523 <td><?= $type ?></td>
517 <td><?= $p ?></td> 524 <td><?= $p ?></td>
518 525
@@ -523,13 +530,13 @@ foreach ( $materiel-&gt;documents as $documents ) : @@ -523,13 +530,13 @@ foreach ( $materiel-&gt;documents as $documents ) :
523 <td class="actions"> 530 <td class="actions">
524 <?php 531 <?php
525 if ($documents->photo) { 532 if ($documents->photo) {
526 - echo $this->Html->link ( __ ( '<i class="icon-download"></i>' ), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [ 533 + echo $this->Html->link ( __ ( '<i class="icon-download-alt"></i>' ), '/webroot/img/photos/' . $documents->id . '.' . $documents->type_doc, [
527 'title' => 'Télécharger', 534 'title' => 'Télécharger',
528 'style' => 'margin:0', 535 'style' => 'margin:0',
529 'escape' => false 536 'escape' => false
530 ] ); 537 ] );
531 } else { 538 } else {
532 - echo $this->Html->link ( __ ( '<i class="icon-download"></i>' ), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [ 539 + echo $this->Html->link ( __ ( '<i class="icon-download-alt"></i>' ), '/webroot/files/' . $documents->id . '.' . $documents->type_doc, [
533 'title' => 'Télécharger', 540 'title' => 'Télécharger',
534 'style' => 'margin:0', 541 'style' => 'margin:0',
535 'escape' => false 542 'escape' => false
@@ -541,7 +548,7 @@ foreach ( $materiel-&gt;documents as $documents ) : @@ -541,7 +548,7 @@ foreach ( $materiel-&gt;documents as $documents ) :
541 if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { 548 if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) {
542 ?> 549 ?>
543 <td class="actions"> 550 <td class="actions">
544 - <?= $this->Html->link(__('<i class="icon-edit"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> 551 + <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
545 </td> 552 </td>
546 <td class="actions"> 553 <td class="actions">
547 <?= $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)])?> 554 <?= $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)])?>
src/Template/Suivis/edit.ctp
@@ -18,6 +18,10 @@ @@ -18,6 +18,10 @@
18 'options' => $typeSuivis 18 'options' => $typeSuivis
19 ]); 19 ]);
20 20
  21 + echo $this->Form->input ('statut', [
  22 + 'options' => ['En cours' => 'En cours', 'Terminé' => 'Terminé'],
  23 + ]);
  24 +
21 echo $this->Form->input('date_controle', [ 25 echo $this->Form->input('date_controle', [
22 'type' => 'text', 26 'type' => 'text',
23 'label' => 'Date intervention', 27 'label' => 'Date intervention',
src/Template/Suivis/find.ctp
@@ -26,6 +26,12 @@ $r = isset ($_results); @@ -26,6 +26,12 @@ $r = isset ($_results);
26 // FORMULAIRE DE RECHERCHE 26 // FORMULAIRE DE RECHERCHE
27 echo $this->Form->create(); 27 echo $this->Form->create();
28 28
  29 + echo $this->Form->input ('s_statut', [
  30 + 'label' => 'Statut',
  31 + 'empty' => 'Tous',
  32 + 'options' => ['En cours' => 'En cours', 'Terminé' => 'Terminé'],
  33 + ]);
  34 +
29 // Type suivi 35 // Type suivi
30 echo $this->Form->input ( 's_type_suivi_id', [ 36 echo $this->Form->input ( 's_type_suivi_id', [
31 'label' => 'Type de suivi', 37 'label' => 'Type de suivi',
@@ -103,6 +109,7 @@ $r = isset ($_results); @@ -103,6 +109,7 @@ $r = isset ($_results);
103 <th><?= $this->Paginator->sort('date_controle', 'Date intervention') ?></th> 109 <th><?= $this->Paginator->sort('date_controle', 'Date intervention') ?></th>
104 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th> 110 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th>
105 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th> 111 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th>
  112 + <th><?= $this->Paginator->sort('statut', "Statut") ?></th>
106 <th style="width: 20px;"></th> 113 <th style="width: 20px;"></th>
107 <th style="width: 20px;"></th> 114 <th style="width: 20px;"></th>
108 <th style="width: 20px;"></th> 115 <th style="width: 20px;"></th>
@@ -123,6 +130,7 @@ $r = isset ($_results); @@ -123,6 +130,7 @@ $r = isset ($_results);
123 <td class="smallText"><?= h($suivi->date_controle) ?></td> 130 <td class="smallText"><?= h($suivi->date_controle) ?></td>
124 <td class="smallText"><?= h($suivi->date_prochain_controle) ?></td> 131 <td class="smallText"><?= h($suivi->date_prochain_controle) ?></td>
125 <td class="smallText"><?= $s_type_suivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] ?></td> 132 <td class="smallText"><?= $s_type_suivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] ?></td>
  133 + <td class="smallText"><?= h($suivi->statut) ?></td>
126 134
127 <?php 135 <?php
128 echo '<td class="actions" style="padding: 6px 0;">'; 136 echo '<td class="actions" style="padding: 6px 0;">';
src/Template/Suivis/index.ctp
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
10 <th><?= $this->Paginator->sort('date_controle', 'Date intervention') ?></th> 10 <th><?= $this->Paginator->sort('date_controle', 'Date intervention') ?></th>
11 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th> 11 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th>
12 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th> 12 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th>
  13 + <th><?= $this->Paginator->sort('statut', "Statut") ?></th>
13 <th class="actions"><?= __('') ?></th> 14 <th class="actions"><?= __('') ?></th>
14 </tr> 15 </tr>
15 </thead> 16 </thead>
@@ -22,6 +23,7 @@ @@ -22,6 +23,7 @@
22 <td class="smallText"><?= h($suivi->date_controle) ?></td> 23 <td class="smallText"><?= h($suivi->date_controle) ?></td>
23 <td class="smallText"><?= h($suivi->date_prochain_controle) ?></td> 24 <td class="smallText"><?= h($suivi->date_prochain_controle) ?></td>
24 <td class="smallText"><?= $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '' ?></td> 25 <td class="smallText"><?= $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '' ?></td>
  26 + <td class="smallText"><?= h($suivi->statut) ?></td>
25 27
26 <td class="actions" style="padding: 6px 0;"> 28 <td class="actions" style="padding: 6px 0;">
27 <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $suivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 29 <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $suivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
src/Template/Suivis/view.ctp
@@ -33,6 +33,7 @@ @@ -33,6 +33,7 @@
33 33
34 $displayElement(__('Materiel'), $suivi->has('materiel') ? $this->Html->link($suivi->materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $suivi->materiel->id]) : ''); 34 $displayElement(__('Materiel'), $suivi->has('materiel') ? $this->Html->link($suivi->materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $suivi->materiel->id]) : '');
35 $displayElement(__('Numéro interne (labo)'), $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : ''); 35 $displayElement(__('Numéro interne (labo)'), $suivi->has('materiel') ? h($suivi->materiel->numero_laboratoire) : '');
  36 + $displayElement(__('Statut'), h($suivi->statut));
36 $displayElement(__('Date Intervention'), h($suivi->date_controle)); 37 $displayElement(__('Date Intervention'), h($suivi->date_controle));
37 $displayElement(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle)); 38 $displayElement(__('Date Prochaine Intervention'), h($suivi->date_prochain_controle));
38 $displayElement(__('Type d\'intervention'), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : ''); 39 $displayElement(__('Type d\'intervention'), $suivi->has('type_suivi') ? h($suivi->type_suivi->nom) : '');
@@ -80,20 +81,20 @@ @@ -80,20 +81,20 @@
80 81
81 ?> 82 ?>
82 <tr> 83 <tr>
83 - <td><?= h($documents->nom) ?></td> 84 + <td><?= $this->Html->link($documents->nom, ['controller' => 'documents', 'action' => 'view', $documents->id]) ?></td>
84 <td><?= $type ?></td> 85 <td><?= $type ?></td>
85 86
86 <td class="actions"> 87 <td class="actions">
87 <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Documents', 'action' => 'view', $documents->id], ['escape' => false, 'style' => 'margin:0']) ?> 88 <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Documents', 'action' => 'view', $documents->id], ['escape' => false, 'style' => 'margin:0']) ?>
88 </td> 89 </td>
89 <td class="actions"> 90 <td class="actions">
90 - <?= $this->Html->link(__('<i class="icon-download"></i>'), '/webroot/files/'.$documents->id.'.'.$documents->type_doc, ['title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]) ?> 91 + <?= $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/'.$documents->id.'.'.$documents->type_doc, ['title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]) ?>
91 </td> 92 </td>
92 <?php 93 <?php
93 if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) || $role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) { 94 if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) || $role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) {
94 ?> 95 ?>
95 <td class="actions"> 96 <td class="actions">
96 - <?= $this->Html->link(__('<i class="icon-edit"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> 97 + <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
97 </td> 98 </td>
98 <td class="actions"> 99 <td class="actions">
99 <?= $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)]) ?> 100 <?= $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)]) ?>
src/Template/TypeDocuments/index.ctp
@@ -11,6 +11,8 @@ @@ -11,6 +11,8 @@
11 <tbody> 11 <tbody>
12 <?php 12 <?php
13 foreach ($typeDocuments as $typeDocument): 13 foreach ($typeDocuments as $typeDocument):
  14 +
  15 + if($typeDocument->nom != 'N/A') {
14 ?> 16 ?>
15 17
16 <tr> 18 <tr>
@@ -31,6 +33,7 @@ @@ -31,6 +33,7 @@
31 </tr> 33 </tr>
32 34
33 <?php 35 <?php
  36 + }
34 endforeach; 37 endforeach;
35 ?> 38 ?>
36 </tbody> 39 </tbody>
tests/Fixture/SuivisFixture.php
@@ -29,7 +29,8 @@ class SuivisFixture extends TestFixture @@ -29,7 +29,8 @@ class SuivisFixture extends TestFixture
29 'type_frequence' => ['type' => 'string', 'length' =>30, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], 29 'type_frequence' => ['type' => 'string', 'length' =>30, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null],
30 'panne_resolu' => ['type' => 'boolean', 'length' =>null, 'null' => true, 'default' => 1, 'comment' => '', 'precision' => null, 'fixed' => null], 30 'panne_resolu' => ['type' => 'boolean', 'length' =>null, 'null' => true, 'default' => 1, 'comment' => '', 'precision' => null, 'fixed' => null],
31 'commentaire' => ['type' => 'string', 'length' => 100, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null], 31 'commentaire' => ['type' => 'string', 'length' => 100, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'fixed' => null],
32 - 'nom_createur' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => 'nom du createur de la fiche', 'precision' => null, 'fixed' => null], 32 + 'statut' => ['type' => 'string', 'length' => 30, 'null' => true, 'default' => 'En cours', 'comment' => '', 'precision' => null, 'fixed' => null],
  33 + 'nom_createur' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => 'nom du createur de la fiche', 'precision' => null, 'fixed' => null],
33 'nom_modificateur' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => 'nom du modificateur de la fiche', 'precision' => null, 'fixed' => null], 34 'nom_modificateur' => ['type' => 'string', 'length' => 45, 'null' => true, 'default' => null, 'comment' => 'nom du modificateur de la fiche', 'precision' => null, 'fixed' => null],
34 'created' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => 'date et heure de creation de la fiche', 'precision' => null], 35 'created' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => 'date et heure de creation de la fiche', 'precision' => null],
35 'modified' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => 'date et heure de modif de la fiche', 'precision' => null], 36 'modified' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => 'date et heure de modif de la fiche', 'precision' => null],