Commit 602e9d7a70ef15314ef827828976c39482ce75f6

Authored by Alexandre
1 parent 221e51df

Version: 2.5.5.0

- amélioration et correction vue index et find (bouton details enlevé,
décalage bouton gauche, ajustement position bouton, ...) 

- Menu responsable + fonctionnement groupe métier et thématique exclusif
(priorité groupe métier)

- Correction probleme table "users" - IRAP ONLY
(db-update-2016-07-01-irap.sh)

	   
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,15 @@ Logiciel testé et validé sur les configurations suivantes : @@ -50,10 +50,15 @@ Logiciel testé et validé sur les configurations suivantes :
50 50
51 VERSION ACTUELLE 51 VERSION ACTUELLE
52 52
53 -Date: 30/06/2016  
54 -Version: 2.5.4.3 53 +Date: 01/07/2016
  54 +Version: 2.5.5.0
  55 +
  56 +- amélioration et correction vue index et find (bouton details enlevé, décalage bouton gauche, ajustement position bouton, ...)
  57 +
  58 +- Menu responsable + fonctionnement groupe métier et thématique exclusif (priorité groupe métier)
  59 +
  60 +- Correction probleme table "users" - IRAP ONLY (db-update-2016-07-01-irap.sh)
55 61
56 -boutons materiels à gauche (index) + mail administratif désactivé  
57 62
58 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 63 Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
59 64
database/update/db-update-2016-07-01.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-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql
  23 +
  24 +# Execute sql update script
  25 +sed -e "s/database/$database/" -i ./script_sql/db-update-2016-07-01-irap-build.sql
  26 +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2016-07-01-irap-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-07-01-irap.sql 0 → 100755
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +use database;
  2 +
  3 +ALTER TABLE users CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY;
src/Controller/AppController.php
@@ -177,6 +177,9 @@ class AppController extends Controller @@ -177,6 +177,9 @@ class AppController extends Controller
177 177
178 $this->set('userConnected', $user); 178 $this->set('userConnected', $user);
179 179
  180 + $this->set('idGmNa', TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']);
  181 + $this->set('idGtNa', TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']);
  182 +
180 $displayElement = function ($nom, $valeur) { 183 $displayElement = function ($nom, $valeur) {
181 if ($valeur != "") 184 if ($valeur != "")
182 echo '<tr><td><strong>'.$nom.' </strong></td><td>'.$valeur.'</td></tr>'; 185 echo '<tr><td><strong>'.$nom.' </strong></td><td>'.$valeur.'</td></tr>';
src/Controller/DocumentsController.php
@@ -48,19 +48,35 @@ class DocumentsController extends AppController @@ -48,19 +48,35 @@ class DocumentsController extends AppController
48 if(empty($id)) { 48 if(empty($id)) {
49 $id = $doc->get('suivi_id'); 49 $id = $doc->get('suivi_id');
50 $suiviTable = TableRegistry::get('Suivis'); 50 $suiviTable = TableRegistry::get('Suivis');
51 - if ($role == 'Responsable') {  
52 - return ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); 51 + if ($role == 'Responsable') {
  52 + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  53 + return ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]));
  54 + }
  55 + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  56 + return ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']]));
  57 + }
  58 + else {
  59 + return false;
  60 + }
53 } 61 }
54 if ($role == 'Utilisateur') { 62 if ($role == 'Utilisateur') {
55 - return $suiviTable->exists(['id' => $id, 'nom_createur' => $user['givenname'][0].' '.$user['sn'][0]]); 63 + return $suiviTable->exists(['id' => $id, 'nom_createur' => $user['sn'][0].' '.$user['givenname'][0]]);
56 } 64 }
57 } else { 65 } else {
58 $materielTable = TableRegistry::get('Materiels'); 66 $materielTable = TableRegistry::get('Materiels');
59 if ($role == 'Responsable') { 67 if ($role == 'Responsable') {
60 - return ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); 68 + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  69 + return ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]));
  70 + }
  71 + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  72 + return ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']]));
  73 + }
  74 + else {
  75 + return false;
  76 + }
61 } 77 }
62 if ($role == 'Utilisateur') { 78 if ($role == 'Utilisateur') {
63 - return ($materielTable->exists(['id' => $id, 'nom_createur' => $user['givenname'][0].' '.$user['sn'][0]]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $user['givenname'][0].' '.$user['sn'][0]])); 79 + return ($materielTable->exists(['id' => $id, 'nom_createur' => $user['sn'][0].' '.$user['givenname'][0]]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $user['sn'][0].' '.$user['givenname'][0]]));
64 } 80 }
65 } 81 }
66 } 82 }
src/Controller/MaterielsController.php
@@ -135,7 +135,15 @@ class MaterielsController extends AppController @@ -135,7 +135,15 @@ class MaterielsController extends AppController
135 { 135 {
136 $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first(); 136 $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first();
137 137
138 - return ($this->Materiels->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $this->Materiels->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); 138 + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  139 + return ($this->Materiels->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]));
  140 + }
  141 + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  142 + return ($this->Materiels->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']]));
  143 + }
  144 + else {
  145 + return false;
  146 + }
139 } 147 }
140 148
141 public function isCreated($id) 149 public function isCreated($id)
@@ -171,15 +179,34 @@ class MaterielsController extends AppController @@ -171,15 +179,34 @@ class MaterielsController extends AppController
171 } 179 }
172 180
173 $GM = $this->request->query('GM'); 181 $GM = $this->request->query('GM');
174 - if(isset($GM)) {  
175 - $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GM'), 'Materiels.status !=' => 'ARCHIVED']; 182 + $GT = $this->request->query('GT');
  183 + if(isset($GM) || isset($GT)) {
  184 + if(isset($GM) && $GM != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  185 + $condition = ['Materiels.groupes_metier_id =' => $GM, 'Materiels.status !=' => 'ARCHIVED'];
  186 + }
  187 + else if (isset($GT) && $GT != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  188 + $condition = ['Materiels.groupes_thematique_id =' => $GT, 'Materiels.status !=' => 'ARCHIVED'];
  189 + }
  190 + else {
  191 + $condition = ['Materiels.id =' => 0];
  192 + }
176 } 193 }
177 - 194 +
178 $GMV = $this->request->query('GMV'); 195 $GMV = $this->request->query('GMV');
179 - if(isset($GMV)) {  
180 - $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GMV'), 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED']; 196 + $GTV = $this->request->query('GTV');
  197 + if(isset($GMV) || isset($GTV)) {
  198 + if(isset($GMV) && $GMV != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  199 + $condition = ['Materiels.groupes_metier_id =' => $GMV, 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED'];
  200 + }
  201 + else if (isset($GTV) && $GTV != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  202 + $condition = ['Materiels.groupes_metier_id =' => $GTV, 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED'];
  203 + }
  204 + else {
  205 + $condition = ['Materiels.id =' => 0];
  206 + }
181 } 207 }
182 208
  209 +
183 $MY = $this->request->query('MY'); 210 $MY = $this->request->query('MY');
184 if(isset($MY)) { 211 if(isset($MY)) {
185 if(in_array($this->role, ['Utilisateur', 'Responsable'])) { 212 if(in_array($this->role, ['Utilisateur', 'Responsable'])) {
src/Controller/SuivisController.php
@@ -48,7 +48,15 @@ class SuivisController extends AppController @@ -48,7 +48,15 @@ class SuivisController extends AppController
48 { 48 {
49 $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first(); 49 $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first();
50 50
51 - return ($this->Suivis->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $this->Suivis->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); 51 + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  52 + return ($this->Suivis->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]));
  53 + }
  54 + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  55 + return ($this->Suivis->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']]));
  56 + }
  57 + else {
  58 + return false;
  59 + }
52 } 60 }
53 61
54 /** 62 /**
@@ -61,8 +69,18 @@ class SuivisController extends AppController @@ -61,8 +69,18 @@ class SuivisController extends AppController
61 $condition = ''; 69 $condition = '';
62 70
63 $GM = $this->request->query('GM'); 71 $GM = $this->request->query('GM');
64 - if(isset($GM)) {  
65 - $condition = ['Suivis.groupes_metier_id =' => $this->request->query('GM')]; 72 + $GT = $this->request->query('GT');
  73 +
  74 + if(isset($GM) || isset($GT)) {
  75 + if(isset($GM) && $GM != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  76 + $condition = ['Suivis.groupes_metier_id =' => $GM];
  77 + }
  78 + else if (isset($GT) && $GT != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) {
  79 + $condition = ['Suivis.groupes_thematique_id =' => $GT];
  80 + }
  81 + else {
  82 + $condition = ['Suivis.id =' => 0];
  83 + }
66 } 84 }
67 85
68 $this->paginate = [ 86 $this->paginate = [
src/Controller/UsersController.php
@@ -86,6 +86,8 @@ class UsersController extends AppController @@ -86,6 +86,8 @@ class UsersController extends AppController
86 //Affichage informations disponible pour l'utilisateur connecté 86 //Affichage informations disponible pour l'utilisateur connecté
87 $this->myDebug($this->LdapAuth->user()); 87 $this->myDebug($this->LdapAuth->user());
88 88
  89 + $this->set('nbUsers', $this->Users->find('all')->count());
  90 +
89 $this->set(compact('users')); 91 $this->set(compact('users'));
90 $this->set('_serialize', ['users']); 92 $this->set('_serialize', ['users']);
91 } 93 }
src/Model/Table/UsersTable.php
@@ -93,7 +93,7 @@ class UsersTable extends AppTable @@ -93,7 +93,7 @@ class UsersTable extends AppTable
93 public function buildRules(RulesChecker $rules) 93 public function buildRules(RulesChecker $rules)
94 { 94 {
95 $rules->add($rules->isUnique(['username'])); 95 $rules->add($rules->isUnique(['username']));
96 - $rules->add($rules->isUnique(['email'])); 96 + //$rules->add($rules->isUnique(['email']));
97 $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers')); 97 $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers'));
98 $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques')); 98 $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques'));
99 return $rules; 99 return $rules;
src/Template/Categories/index.ctp
@@ -13,9 +13,7 @@ @@ -13,9 +13,7 @@
13 <tbody> 13 <tbody>
14 <?php foreach ($categories as $category): ?> 14 <?php foreach ($categories as $category): ?>
15 <tr> 15 <tr>
16 - <td class="actions" style="padding: 6px 0; text-align: left;">  
17 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $category->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
18 - 16 + <td class="actions" style="padding: 6px 0; text-align: left;">
19 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
20 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $category->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $category->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
21 <?php } ?> 19 <?php } ?>
src/Template/Element/menu_view.ctp
@@ -27,6 +27,8 @@ use Cake\ORM\TableRegistry; @@ -27,6 +27,8 @@ use Cake\ORM\TableRegistry;
27 echo $this->Html->link ('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-1)', ['escape' => false]); 27 echo $this->Html->link ('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-1)', ['escape' => false]);
28 } 28 }
29 29
  30 +
  31 +
30 ?> 32 ?>
31 </li> 33 </li>
32 34
@@ -36,8 +38,18 @@ use Cake\ORM\TableRegistry; @@ -36,8 +38,18 @@ use Cake\ORM\TableRegistry;
36 38
37 if($singularHumanName == 'Matériel') { 39 if($singularHumanName == 'Matériel') {
38 if (in_array($materiel->status, ['CREATED', 'VALIDATED'])) { 40 if (in_array($materiel->status, ['CREATED', 'VALIDATED'])) {
39 - if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) { 41 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) {
40 $isAuthorized = true; 42 $isAuthorized = true;
  43 + } else if($role == 'Responsable') {
  44 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) {
  45 + $isAuthorized = true;
  46 + }
  47 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) {
  48 + $isAuthorized = true;
  49 + }
  50 + else {
  51 + $isAuthorized = false;
  52 + }
41 } 53 }
42 }else { 54 }else {
43 if(in_array($role, ['Administration Plus', 'Super Administrateur'])) { 55 if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
@@ -53,8 +65,16 @@ use Cake\ORM\TableRegistry; @@ -53,8 +65,16 @@ use Cake\ORM\TableRegistry;
53 if(in_array($username, [$suivi->nom_createur])) { 65 if(in_array($username, [$suivi->nom_createur])) {
54 $isAuthorized = true; 66 $isAuthorized = true;
55 } 67 }
56 - else if ($role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) {  
57 - $isAuthorized = true; 68 + else if($role == 'Responsable') {
  69 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) {
  70 + $isAuthorized = true;
  71 + }
  72 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) {
  73 + $isAuthorized = true;
  74 + }
  75 + else {
  76 + $isAuthorized = false;
  77 + }
58 } 78 }
59 } else { 79 } else {
60 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) { 80 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
@@ -81,17 +101,33 @@ use Cake\ORM\TableRegistry; @@ -81,17 +101,33 @@ use Cake\ORM\TableRegistry;
81 101
82 if(empty($id)) { 102 if(empty($id)) {
83 $id = $doc->get('suivi_id'); 103 $id = $doc->get('suivi_id');
84 - $suiviTable = TableRegistry::get('Suivis');  
85 if ($role == 'Responsable') { 104 if ($role == 'Responsable') {
86 - $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); 105 + $suiviTable = TableRegistry::get('Suivis');
  106 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
  107 + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
  108 + }
  109 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
  110 + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
  111 + }
  112 + else {
  113 + $isAuthorized = false;
  114 + }
87 } 115 }
88 if ($role == 'Utilisateur') { 116 if ($role == 'Utilisateur') {
89 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]); 117 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
90 } 118 }
91 } else { 119 } else {
92 - $materielTable = TableRegistry::get('Materiels');  
93 if ($role == 'Responsable') { 120 if ($role == 'Responsable') {
94 - $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); 121 + $materielTable = TableRegistry::get('Materiels');
  122 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
  123 + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
  124 + }
  125 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
  126 + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
  127 + }
  128 + else {
  129 + $isAuthorized = false;
  130 + }
95 } 131 }
96 if ($role == 'Utilisateur') { 132 if ($role == 'Utilisateur') {
97 $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username])); 133 $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username]));
@@ -135,8 +171,19 @@ use Cake\ORM\TableRegistry; @@ -135,8 +171,19 @@ use Cake\ORM\TableRegistry;
135 171
136 if($singularHumanName == 'Matériel') { 172 if($singularHumanName == 'Matériel') {
137 if ($materiel->status == 'CREATED') { 173 if ($materiel->status == 'CREATED') {
138 - if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) { 174 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) {
139 $isAuthorized = true; 175 $isAuthorized = true;
  176 + }
  177 + else if($role == 'Responsable') {
  178 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) {
  179 + $isAuthorized = true;
  180 + }
  181 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) {
  182 + $isAuthorized = true;
  183 + }
  184 + else {
  185 + $isAuthorized = false;
  186 + }
140 } 187 }
141 } 188 }
142 } 189 }
@@ -148,8 +195,16 @@ use Cake\ORM\TableRegistry; @@ -148,8 +195,16 @@ use Cake\ORM\TableRegistry;
148 if(in_array($username, [$suivi->nom_createur])) { 195 if(in_array($username, [$suivi->nom_createur])) {
149 $isAuthorized = true; 196 $isAuthorized = true;
150 } 197 }
151 - else if ($role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) {  
152 - $isAuthorized = true; 198 + else if($role == 'Responsable') {
  199 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) {
  200 + $isAuthorized = true;
  201 + }
  202 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) {
  203 + $isAuthorized = true;
  204 + }
  205 + else {
  206 + $isAuthorized = false;
  207 + }
153 } 208 }
154 } else { 209 } else {
155 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) { 210 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
@@ -160,34 +215,51 @@ use Cake\ORM\TableRegistry; @@ -160,34 +215,51 @@ use Cake\ORM\TableRegistry;
160 } 215 }
161 } 216 }
162 } 217 }
163 - } else if ($singularHumanName == 'Document') {  
164 - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {  
165 - $isAuthorized = true;  
166 - }  
167 - $doc = TableRegistry::get('Documents')->get((int)$this->request->params['pass'][0]);  
168 - 218 + }
  219 + else if ($singularHumanName == 'Document') {
  220 + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
  221 + $isAuthorized = true;
  222 + }
  223 + $doc = TableRegistry::get('Documents')->get((int)$this->request->params['pass'][0]);
  224 +
169 $id = $doc->get('materiel_id'); 225 $id = $doc->get('materiel_id');
170 - 226 +
171 if(empty($id)) { 227 if(empty($id)) {
172 $id = $doc->get('suivi_id'); 228 $id = $doc->get('suivi_id');
173 - $suiviTable = TableRegistry::get('Suivis');  
174 if ($role == 'Responsable') { 229 if ($role == 'Responsable') {
175 - $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); 230 + $suiviTable = TableRegistry::get('Suivis');
  231 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
  232 + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
  233 + }
  234 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
  235 + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
  236 + }
  237 + else {
  238 + $isAuthorized = false;
  239 + }
176 } 240 }
177 if ($role == 'Utilisateur') { 241 if ($role == 'Utilisateur') {
178 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]); 242 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
179 } 243 }
180 } else { 244 } else {
181 - $materielTable = TableRegistry::get('Materiels');  
182 if ($role == 'Responsable') { 245 if ($role == 'Responsable') {
183 - $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); 246 + $materielTable = TableRegistry::get('Materiels');
  247 + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
  248 + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
  249 + }
  250 + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
  251 + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
  252 + }
  253 + else {
  254 + $isAuthorized = false;
  255 + }
184 } 256 }
185 if ($role == 'Utilisateur') { 257 if ($role == 'Utilisateur') {
186 $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username])); 258 $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username]));
187 - } 259 + }
188 } 260 }
189 -  
190 - } 261 +
  262 + }
191 else { 263 else {
192 if (in_array($role, ['Super Administrateur'])) { 264 if (in_array($role, ['Super Administrateur'])) {
193 $isAuthorized = true; 265 $isAuthorized = true;
src/Template/GroupesMetiers/index.ctp
@@ -16,9 +16,7 @@ @@ -16,9 +16,7 @@
16 ?> 16 ?>
17 <tr> 17 <tr>
18 18
19 - <td class="actions" style="padding: 6px 0; text-align: left;">  
20 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $groupesMetier->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
21 - 19 + <td class="actions" style="padding: 6px 0; text-align: left;">
22 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 20 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
23 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesMetier->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 21 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesMetier->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 <?php } ?> 22 <?php } ?>
src/Template/GroupesThematiques/index.ctp
@@ -14,9 +14,7 @@ @@ -14,9 +14,7 @@
14 <?php foreach ($groupesThematiques as $groupesThematique): 14 <?php foreach ($groupesThematiques as $groupesThematique):
15 if($groupesThematique->nom != 'N/A') {?> 15 if($groupesThematique->nom != 'N/A') {?>
16 <tr> 16 <tr>
17 - <td class="actions" style="padding: 6px 0; text-align: left;">  
18 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $groupesThematique->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
19 - 17 + <td class="actions" style="padding: 6px 0; text-align: left;">
20 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 18 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
21 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesThematique->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 19 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesThematique->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
22 <?php } ?> 20 <?php } ?>
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.4.3 (30/06/2016)</font> 97 + <font color="black">VERSION 2.5.5.0 (01/07/2016)</font>
98 </td> 98 </td>
99 </tr> 99 </tr>
100 </table> 100 </table>
src/Template/Materiels/find.ctp
@@ -209,16 +209,13 @@ if ($r) { @@ -209,16 +209,13 @@ if ($r) {
209 <table cellpadding="0" cellspacing="0"> 209 <table cellpadding="0" cellspacing="0">
210 <thead> 210 <thead>
211 <tr> 211 <tr>
212 - 212 + <th class="actions"><?= __('') ?></th>
213 <th><?= $this->Paginator->sort('designation','Désignation') ?></th> 213 <th><?= $this->Paginator->sort('designation','Désignation') ?></th>
214 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th> 214 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th>
215 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th> 215 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th>
216 <th><?= $this->Paginator->sort('nom_responsable', $configuration->nom_responsable) ?></th> 216 <th><?= $this->Paginator->sort('nom_responsable', $configuration->nom_responsable) ?></th>
217 <th><?= $this->Paginator->sort('status', 'Statut') ?></th> 217 <th><?= $this->Paginator->sort('status', 'Statut') ?></th>
218 <th><?= $this->Paginator->sort('date_acquisition', 'Date') ?></th> 218 <th><?= $this->Paginator->sort('date_acquisition', 'Date') ?></th>
219 - <th style="width: 20px;"></th>  
220 - <th style="width: 20px;"></th>  
221 - <th style="width: 20px;"></th>  
222 </tr> 219 </tr>
223 </thead> 220 </thead>
224 <tbody> 221 <tbody>
@@ -226,6 +223,71 @@ if ($r) { @@ -226,6 +223,71 @@ if ($r) {
226 <?php 223 <?php
227 foreach ( $_results as $material ) : 224 foreach ( $_results as $material ) :
228 echo '<tr>'; 225 echo '<tr>';
  226 + echo ' <td class="actions" style="padding: 6px 0; text-align: left;">';
  227 + /*
  228 + * ACTION 'edit'
  229 + */
  230 + if (in_array($material->status, ['CREATED', 'VALIDATED'])) {
  231 + if(($role == 'Utilisateur' && (in_array($username, [$material->nom_createur, $material->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  232 + || ($role == 'Responsable' &&
  233 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id)
  234 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
  235 + echo $this->Html->link('<i class="icon-pencil"></i>',
  236 + ['action' => 'edit', $material->id],
  237 + ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false]
  238 + );
  239 + }
  240 + }else {
  241 + if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
  242 +
  243 + echo $this->Html->link('<i class="icon-pencil"></i>',
  244 + ['action' => 'edit', $material->id],
  245 + ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false]
  246 + );
  247 + }
  248 + }
  249 +
  250 +
  251 + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])
  252 + || ($role == 'Responsable' &&
  253 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id)
  254 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
  255 + if(h($material->status) == 'CREATED') {
  256 + echo $this->Html->link('<i class="icon-ok-sign"></i>',
  257 + ['action' => 'statusValidated', $material->id],
  258 + ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false,
  259 + 'confirm' => 'Êtes-vous sur de vouloir validé '.$material->designation.' ?']);
  260 + }
  261 + else if (h($material->status) == 'VALIDATED') {
  262 + echo $this->Html->link('<i class="icon-inbox"></i>',
  263 + ['action' => 'statusToBeArchived', $material->id],
  264 + ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,
  265 + 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']);
  266 +
  267 + }
  268 + else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){
  269 + echo $this->Html->link('<i class="icon-inbox"></i>',
  270 + ['action' => 'statusArchived', $material->id],
  271 + ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,
  272 + 'confirm' => 'Êtes-vous sur de vouloir archivé '.$material->designation.' ?']);
  273 + }
  274 + }
  275 + /*
  276 + * ACTION 'delete'
  277 + */
  278 + // Seul un materiel CREATED peut être supprimer
  279 + if ($material->status == 'CREATED') {
  280 + if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$material->nom_createur, $material->nom_responsable])
  281 + || ($role == 'Responsable' &&
  282 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id)
  283 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
  284 + echo $this->Html->link(__('<i class="icon-trash"></i>'),
  285 + ['action' => 'delete', $material->id],
  286 + ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $material->designation)]
  287 + );
  288 + }
  289 + }
  290 + echo '</td>';
229 291
230 echo '<td class="smallText">'; 292 echo '<td class="smallText">';
231 echo $this->Html->link ( h($material->designation), [ 293 echo $this->Html->link ( h($material->designation), [
@@ -255,68 +317,7 @@ if ($r) { @@ -255,68 +317,7 @@ if ($r) {
255 echo $material->date_acquisition; 317 echo $material->date_acquisition;
256 echo '</td>'; 318 echo '</td>';
257 319
258 - /*  
259 - * ACTION 'edit'  
260 - */  
261 - if (in_array($material->status, ['CREATED', 'VALIDATED'])) {  
262 - if(($role == 'Utilisateur' && (in_array($username, [$material->nom_createur, $material->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) || ($role == 'Responsable' && ($material->groupes_metier_id == $userConnected->groupes_metier_id || $material->groupes_thematique_id == $userConnected->groupe_thematique_id))) {  
263 - echo '<td class="actions" style="padding: 6px 0;">';  
264 - echo $this->Html->link('<i class="icon-pencil"></i>',  
265 - ['action' => 'edit', $material->id],  
266 - ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false]  
267 - );  
268 - echo '</td>';  
269 - }  
270 - }else {  
271 - if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {  
272 - echo '<td class="actions" style="padding: 6px 0;">';  
273 - echo $this->Html->link('<i class="icon-pencil"></i>',  
274 - ['action' => 'edit', $material->id],  
275 - ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false]  
276 - );  
277 - echo '</td>';  
278 - }  
279 - }  
280 -  
281 -  
282 - echo '<td class="actions" style="padding: 6px 0;">';  
283 - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']) || ($role == 'Responsable' && ($material->groupes_metier_id == $userConnected->groupes_metier_id || $material->groupes_thematique_id == $userConnected->groupe_thematique_id))) {  
284 - if(h($material->status) == 'CREATED') {  
285 - echo $this->Html->link('<i class="icon-ok-sign"></i>',  
286 - ['action' => 'statusValidated', $material->id],  
287 - ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false,  
288 - 'confirm' => 'Êtes-vous sur de vouloir validé '.$material->designation.' ?']);  
289 - }  
290 - else if (h($material->status) == 'VALIDATED') {  
291 - echo $this->Html->link('<i class="icon-inbox"></i>',  
292 - ['action' => 'statusToBeArchived', $material->id],  
293 - ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,  
294 - 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']);  
295 -  
296 - }  
297 - else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){  
298 - echo $this->Html->link('<i class="icon-inbox"></i>',  
299 - ['action' => 'statusArchived', $material->id],  
300 - ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false,  
301 - 'confirm' => 'Êtes-vous sur de vouloir archivé '.$material->designation.' ?']);  
302 - }  
303 - }  
304 - echo '</td>';  
305 -  
306 - echo '<td class="actions" style="padding: 6px 0;">';  
307 - /*  
308 - * ACTION 'delete'  
309 - */  
310 - // Seul un materiel CREATED peut être supprimer  
311 - if ($material->status == 'CREATED') {  
312 - if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$material->nom_createur, $material->nom_responsable]) || ($role == 'Responsable' && ($material->groupes_metier_id == $userConnected->groupes_metier_id || $material->groupes_thematique_id == $userConnected->groupe_thematique_id))) {  
313 - echo $this->Html->link(__('<i class="icon-trash"></i>'),  
314 - ['action' => 'delete', $material->id],  
315 - ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $material->designation)]  
316 - );  
317 - }  
318 - }  
319 - echo '</td>'; 320 +
320 echo '<tr>'; 321 echo '<tr>';
321 endforeach; 322 endforeach;
322 echo '</tbody>'; 323 echo '</tbody>';
src/Template/Materiels/index.ctp
@@ -107,9 +107,7 @@ if (isset ( $STATUS )) { @@ -107,9 +107,7 @@ if (isset ( $STATUS )) {
107 <thead> 107 <thead>
108 <tr> 108 <tr>
109 <?php if (isset($STATUS)) { echo '<th></th>'; }?> 109 <?php if (isset($STATUS)) { echo '<th></th>'; }?>
110 - <th class="actions"><?= __('') ?></th>  
111 - <th class="actions"><?= __('') ?></th>  
112 - <th class="actions"><?= __('') ?></th> 110 + <th class="actions"><?= __('') ?></th>
113 <th><?= $this->Paginator->sort('designation','Désignation') ?></th> 111 <th><?= $this->Paginator->sort('designation','Désignation') ?></th>
114 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th> 112 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th>
115 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th> 113 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th>
@@ -119,9 +117,6 @@ if (isset ( $STATUS )) { @@ -119,9 +117,6 @@ if (isset ( $STATUS )) {
119 <th><?= $this->Paginator->sort('status', 'Statut') ?></th> 117 <th><?= $this->Paginator->sort('status', 'Statut') ?></th>
120 <th><?= $this->Paginator->sort('date_acquisition', 'Date Achat') ?></th> 118 <th><?= $this->Paginator->sort('date_acquisition', 'Date Achat') ?></th>
121 <th><?= $this->Paginator->sort('etiquette', 'Et') ?></th> 119 <th><?= $this->Paginator->sort('etiquette', 'Et') ?></th>
122 - <th class="actions"><?= __('') ?></th>  
123 - <th class="actions"><?= __('') ?></th>  
124 - <th class="actions"><?= __('') ?></th>  
125 </tr> 120 </tr>
126 </thead> 121 </thead>
127 <tbody> 122 <tbody>
@@ -132,17 +127,21 @@ if (isset ( $STATUS )) { @@ -132,17 +127,21 @@ if (isset ( $STATUS )) {
132 } 127 }
133 ?> 128 ?>
134 129
135 - <td class="actions" style="padding: 6px 0; text-align: left;"> 130 + <td class="actions" style="padding: 6px 0; text-align: left;">
136 <?php if (in_array($materiel->status, ['CREATED', 'VALIDATED'])): 131 <?php if (in_array($materiel->status, ['CREATED', 'VALIDATED'])):
137 - 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))) { 132 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  133 + || ($role == 'Responsable' &&
  134 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  135 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
138 ?> 136 ?>
139 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 137 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
140 <?php } endif; ?> 138 <?php } endif; ?>
141 - </td>  
142 -  
143 - <td class="actions" style="padding: 6px 0;"> 139 +
144 <?php 140 <?php
145 - if(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))) { 141 + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])
  142 + || ($role == 'Responsable' &&
  143 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  144 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
146 145
147 if(h($materiel->status) == 'CREATED') { 146 if(h($materiel->status) == 'CREATED') {
148 echo $this->Html->link('<i class="icon-ok-sign"></i>', 147 echo $this->Html->link('<i class="icon-ok-sign"></i>',
@@ -166,12 +165,11 @@ if (isset ( $STATUS )) { @@ -166,12 +165,11 @@ if (isset ( $STATUS )) {
166 165
167 } 166 }
168 167
169 - ?>  
170 - </td>  
171 - <td class="actions" style="padding: 6px 0;">  
172 - <?php  
173 if (h($materiel->status) == 'CREATED') { 168 if (h($materiel->status) == 'CREATED') {
174 - if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { 169 + if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$materiel->nom_createur, $materiel->nom_responsable])
  170 + || ($role == 'Responsable' &&
  171 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  172 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
175 echo $this->Html->link(__('<i class="icon-trash"></i>'), 173 echo $this->Html->link(__('<i class="icon-trash"></i>'),
176 ['action' => 'delete', $materiel->id], 174 ['action' => 'delete', $materiel->id],
177 ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $materiel->designation)]); 175 ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $materiel->designation)]);
src/Template/Materiels/view.ctp
@@ -48,14 +48,12 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -48,14 +48,12 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
48 'CREATED', 48 'CREATED',
49 'VALIDATED' 49 'VALIDATED'
50 ] )) { 50 ] )) {
51 - if (($role == 'Utilisateur' && (in_array ( $username, [  
52 - $materiel->nom_createur,  
53 - $materiel->nom_responsable  
54 - ] ))) || (in_array ( $role, [  
55 - 'Administration',  
56 - 'Administration Plus',  
57 - 'Super Administrateur'  
58 - ] )) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { 51 + if (($role == 'Utilisateur' && (in_array ( $username, [$materiel->nom_createur, $materiel->nom_responsable ])))
  52 + || (in_array ( $role, [ 'Administration', 'Administration Plus', 'Super Administrateur']))
  53 + || ($role == 'Responsable' &&
  54 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  55 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
  56 +
59 echo $this->Html->link ( __ ( '<i class="icon-pencil"></i> Editer ce matériel' ), [ 57 echo $this->Html->link ( __ ( '<i class="icon-pencil"></i> Editer ce matériel' ), [
60 'action' => 'edit', 58 'action' => 'edit',
61 $materiel->id 59 $materiel->id
@@ -65,7 +63,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -65,7 +63,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
65 'style' => 'margin-right: 10px' 63 'style' => 'margin-right: 10px'
66 ] ); 64 ] );
67 } 65 }
68 - } else { 66 + }
  67 +
  68 + else {
69 if (in_array ( $role, [ 69 if (in_array ( $role, [
70 'Administration Plus', 70 'Administration Plus',
71 'Super Administrateur' 71 'Super Administrateur'
@@ -112,7 +112,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -112,7 +112,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
112 'Administration', 112 'Administration',
113 'Administration Plus', 113 'Administration Plus',
114 'Super Administrateur' 114 'Super Administrateur'
115 - ] )) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { 115 + ] )) || ($role == 'Responsable' &&
  116 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  117 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
116 118
117 echo $this->Html->link ( '<i class="icon-file"></i> Lier un Doc.', [ 119 echo $this->Html->link ( '<i class="icon-file"></i> Lier un Doc.', [
118 'controller' => 'documents', 120 'controller' => 'documents',
@@ -185,7 +187,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -185,7 +187,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
185 'Administration', 187 'Administration',
186 'Administration Plus', 188 'Administration Plus',
187 'Super Administrateur' 189 'Super Administrateur'
188 - ] ) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { 190 + ] ) || ($role == 'Responsable' &&
  191 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  192 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
189 // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver 193 // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver
190 switch ($materiel->status) { 194 switch ($materiel->status) {
191 case "CREATED" : 195 case "CREATED" :
@@ -415,7 +419,10 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;) @@ -415,7 +419,10 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
415 419
416 <td class="actions" style="padding: 6px 0; text-align: left;"> 420 <td class="actions" style="padding: 6px 0; text-align: left;">
417 <?php 421 <?php
418 - 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))) { 422 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  423 + || ($role == 'Responsable' &&
  424 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  425 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
419 ?> 426 ?>
420 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis', 'action' => 'edit', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?> 427 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis', 'action' => 'edit', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?>
421 <?= $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)])?> 428 <?= $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)])?>
@@ -469,7 +476,10 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) : @@ -469,7 +476,10 @@ foreach ( $materiel-&gt;emprunts as $emprunts ) :
469 476
470 <td class="actions" style="padding: 6px 0; text-align: left;"> 477 <td class="actions" style="padding: 6px 0; text-align: left;">
471 <?php 478 <?php
472 - 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))) { 479 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  480 + || ($role == 'Responsable' &&
  481 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  482 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
473 ?> 483 ?>
474 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts', 'action' => 'edit', $emprunts->id], ['escape' => false, 'style' => 'margin:0'])?> 484 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts', 'action' => 'edit', $emprunts->id], ['escape' => false, 'style' => 'margin:0'])?>
475 <?= $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)])?> 485 <?= $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)])?>
@@ -539,7 +549,10 @@ foreach ( $materiel-&gt;documents as $documents ) : @@ -539,7 +549,10 @@ foreach ( $materiel-&gt;documents as $documents ) :
539 ] ); 549 ] );
540 } 550 }
541 551
542 - 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))) { 552 + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  553 + || ($role == 'Responsable' &&
  554 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id)
  555 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
543 ?> 556 ?>
544 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> 557 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
545 <?= $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)])?> 558 <?= $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/Organismes/index.ctp
@@ -13,8 +13,6 @@ @@ -13,8 +13,6 @@
13 <?php foreach ($organismes as $organisme): ?> 13 <?php foreach ($organismes as $organisme): ?>
14 <tr> 14 <tr>
15 <td class="actions" style="padding: 6px 0; text-align: left;"> 15 <td class="actions" style="padding: 6px 0; text-align: left;">
16 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $organisme->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
17 -  
18 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 16 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
19 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $organisme->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 17 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $organisme->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
20 <?php } ?> 18 <?php } ?>
src/Template/Pages/home_app.ctp
@@ -26,17 +26,20 @@ @@ -26,17 +26,20 @@
26 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>'; 26 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>';
27 echo '</table>'; 27 echo '</table>';
28 } 28 }
  29 +
  30 +
  31 +
29 32
30 //Utilisateur responsable 33 //Utilisateur responsable
31 if ($role == 'Responsable') { 34 if ($role == 'Responsable') {
32 echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">'; 35 echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">';
33 echo '<tr><th></th></tr>'; 36 echo '<tr><th></th></tr>';
34 - echo '<tr><td> '.$this->Html->link('Voir les matériels de mon groupe métier', [  
35 - 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).' </td></tr>';  
36 - echo '<tr><td> '.$this->Html->link('Voir les matériels de mon groupe métier à valider', [  
37 - 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id]).' </td></tr>';  
38 - echo '<tr><td> '.$this->Html->link('Voir les suivis des materiels donc je suis responsable', [  
39 - 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).' </td></tr>'; 37 + echo '<tr><td> '.$this->Html->link('Voir les matériels dont je suis responsable', [
  38 + 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).' </td></tr>';
  39 + echo '<tr><td> '.$this->Html->link('Voir les matériels à valider dont je suis responsable', [
  40 + 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id, 'GTV' => $userConnected->groupe_thematique_id]).' </td></tr>';
  41 + echo '<tr><td> '.$this->Html->link('Voir les suivis des materiels dont je suis responsable', [
  42 + 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).' </td></tr>';
40 echo '</table>'; 43 echo '</table>';
41 } 44 }
42 ?> 45 ?>
src/Template/Sites/index.ctp
@@ -17,9 +17,7 @@ @@ -17,9 +17,7 @@
17 17
18 18
19 <tr> 19 <tr>
20 - <td class="actions" style="padding: 6px 0; text-align: left;">  
21 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $site->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
22 - 20 + <td class="actions" style="padding: 6px 0; text-align: left;">
23 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 21 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
24 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $site->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 22 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $site->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
25 <?php } ?> 23 <?php } ?>
src/Template/SousCategories/index.ctp
@@ -13,9 +13,7 @@ @@ -13,9 +13,7 @@
13 <tbody> 13 <tbody>
14 <?php foreach ($sousCategories as $sousCategory): ?> 14 <?php foreach ($sousCategories as $sousCategory): ?>
15 <tr> 15 <tr>
16 - <td class="actions" style="padding: 6px 0; text-align: left;">  
17 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $sousCategory->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
18 - 16 + <td class="actions" style="padding: 6px 0; text-align: left;">
19 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
20 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $sousCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $sousCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
21 <?php } ?> 19 <?php } ?>
src/Template/Suivis/find.ctp
@@ -103,6 +103,7 @@ $r = isset ($_results); @@ -103,6 +103,7 @@ $r = isset ($_results);
103 <table cellpadding="0" cellspacing="0"> 103 <table cellpadding="0" cellspacing="0">
104 <thead> 104 <thead>
105 <tr> 105 <tr>
  106 + <th class="actions"><?= __('') ?></th>
106 <th><?= $this->Paginator->sort('id', 'N°') ?></th> 107 <th><?= $this->Paginator->sort('id', 'N°') ?></th>
107 <th><?= $this->Paginator->sort('materiel', 'Matériel') ?></th> 108 <th><?= $this->Paginator->sort('materiel', 'Matériel') ?></th>
108 <th><?= $this->Paginator->sort('materiel', 'N° interne (labo)') ?></th> 109 <th><?= $this->Paginator->sort('materiel', 'N° interne (labo)') ?></th>
@@ -110,9 +111,7 @@ $r = isset ($_results); @@ -110,9 +111,7 @@ $r = isset ($_results);
110 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th> 111 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th>
111 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th> 112 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th>
112 <th><?= $this->Paginator->sort('statut', "Statut") ?></th> 113 <th><?= $this->Paginator->sort('statut', "Statut") ?></th>
113 - <th style="width: 20px;"></th>  
114 - <th style="width: 20px;"></th>  
115 - <th style="width: 20px;"></th> 114 +
116 </tr> 115 </tr>
117 </thead> 116 </thead>
118 <tbody> 117 <tbody>
@@ -124,6 +123,20 @@ $r = isset ($_results); @@ -124,6 +123,20 @@ $r = isset ($_results);
124 $mat = $materiels->find()->where(['id =' => $suivi->materiel_id])->first(); 123 $mat = $materiels->find()->where(['id =' => $suivi->materiel_id])->first();
125 ?> 124 ?>
126 125
  126 +
  127 + <td class="actions" style="padding: 6px 0; text-align: left;">
  128 + <?php
  129 + if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  130 + || ($role == 'Responsable' &&
  131 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id)
  132 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
  133 + echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]);
  134 + echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]);
  135 + echo '</td>';
  136 + }
  137 +
  138 + ?>
  139 + </td>
127 <td class="smallText"><?php echo $this->Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?></td> 140 <td class="smallText"><?php echo $this->Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?></td>
128 <td class="smallText"><?= $this->Html->link($mat['designation'], ['controller' => 'Materiels', 'action' => 'view', $mat['id']])?></td> 141 <td class="smallText"><?= $this->Html->link($mat['designation'], ['controller' => 'Materiels', 'action' => 'view', $mat['id']])?></td>
129 <td class="smallText"><?= $mat['numero_laboratoire'] ?></td> 142 <td class="smallText"><?= $mat['numero_laboratoire'] ?></td>
@@ -133,17 +146,6 @@ $r = isset ($_results); @@ -133,17 +146,6 @@ $r = isset ($_results);
133 <td class="smallText"><?= h($suivi->statut) ?></td> 146 <td class="smallText"><?= h($suivi->statut) ?></td>
134 147
135 <?php 148 <?php
136 - echo '<td class="actions" style="padding: 6px 0;">';  
137 - echo $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $suivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]);  
138 -  
139 -  
140 - 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)) {  
141 -  
142 - echo $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]);  
143 - echo $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]);  
144 - echo '</td>';  
145 - }  
146 -  
147 149
148 echo '</tr>'; 150 echo '</tr>';
149 endforeach; 151 endforeach;
src/Template/Suivis/index.ctp
@@ -19,7 +19,10 @@ @@ -19,7 +19,10 @@
19 <?php foreach ($suivis as $suivi): ?> 19 <?php foreach ($suivis as $suivi): ?>
20 <tr> 20 <tr>
21 <td class="actions" style="padding: 6px 0; text-align: left;"> 21 <td class="actions" style="padding: 6px 0; text-align: left;">
22 - <?php 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)) { ?> 22 + <?php if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  23 + || ($role == 'Responsable' &&
  24 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id)
  25 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?>
23 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 26 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]) ?> 27 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]) ?>
25 <?php } ?> 28 <?php } ?>
src/Template/Suivis/view.ctp
@@ -6,7 +6,10 @@ @@ -6,7 +6,10 @@
6 6
7 <div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;"> 7 <div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
8 <?php 8 <?php
9 - 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)) { 9 + if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  10 + || ($role == 'Responsable' &&
  11 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id)
  12 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
10 echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce suivi'), 13 echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce suivi'),
11 ['action' => 'edit', $suivi->id], 14 ['action' => 'edit', $suivi->id],
12 ['escape' => false,'onclick' => 'return true;'] 15 ['escape' => false,'onclick' => 'return true;']
@@ -78,7 +81,10 @@ @@ -78,7 +81,10 @@
78 <?= $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 ]) ?> 81 <?= $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 ]) ?>
79 82
80 <?php 83 <?php
81 - 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)) { 84 + if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))
  85 + || ($role == 'Responsable' &&
  86 + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id)
  87 + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) {
82 ?> 88 ?>
83 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> 89 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
84 <?= $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)]) ?> 90 <?= $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/SurCategories/index.ctp
@@ -11,9 +11,7 @@ @@ -11,9 +11,7 @@
11 <tbody> 11 <tbody>
12 <?php foreach ($surCategories as $surCategory): ?> 12 <?php foreach ($surCategories as $surCategory): ?>
13 <tr> 13 <tr>
14 - <td class="actions" style="padding: 6px 0; text-align: left;">  
15 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $surCategory->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
16 - 14 + <td class="actions" style="padding: 6px 0; text-align: left;">
17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 15 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $surCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 16 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $surCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
19 <?php } ?> 17 <?php } ?>
src/Template/TypeDocuments/index.ctp
@@ -17,8 +17,6 @@ @@ -17,8 +17,6 @@
17 17
18 <tr> 18 <tr>
19 <td class="actions" style="padding: 6px 0; text-align: left;"> 19 <td class="actions" style="padding: 6px 0; text-align: left;">
20 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $typeDocument->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
21 -  
22 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 20 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
23 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeDocument->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 21 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeDocument->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 <?php } ?> 22 <?php } ?>
src/Template/TypeSuivis/index.ctp
@@ -11,9 +11,7 @@ @@ -11,9 +11,7 @@
11 <tbody> 11 <tbody>
12 <?php foreach ($typeSuivis as $typeSuivi): ?> 12 <?php foreach ($typeSuivis as $typeSuivi): ?>
13 <tr> 13 <tr>
14 - <td class="actions" style="padding: 6px 0; text-align: left;">  
15 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $typeSuivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
16 - 14 + <td class="actions" style="padding: 6px 0; text-align: left;">
17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?> 15 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeSuivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 16 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeSuivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
19 <?php } ?> 17 <?php } ?>
src/Template/Users/index.ctp
1 1
2 <div class="users index"> 2 <div class="users index">
3 -<?php echo '<h2><i class="icon-list"></i> Liste des utilisateurs privilégiés</h2>'; ?> 3 +<?php echo '<h2><i class="icon-list"></i> Liste des utilisateurs privilégiés ('.$nbUsers.')</h2>'; ?>
4 <table cellpadding="0" cellspacing="0"> 4 <table cellpadding="0" cellspacing="0">
5 <thead> 5 <thead>
6 <tr> 6 <tr>
@@ -15,9 +15,7 @@ @@ -15,9 +15,7 @@
15 <tbody> 15 <tbody>
16 <?php foreach ($users as $user): ?> 16 <?php foreach ($users as $user): ?>
17 <tr> 17 <tr>
18 - <td class="actions" style="padding: 6px 0; text-align: left;">  
19 - <?= $this->Html->link(__('<i class="icon-eye-open"></i>'), ['action' => 'view', $user->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>  
20 - 18 + <td class="actions" style="padding: 6px 0; text-align: left;">
21 <?php if($role == 'Super Administrateur') { ?> 19 <?php if($role == 'Super Administrateur') { ?>
22 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $user->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> 20 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $user->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
23 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $user->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $user->id)]) ?> 21 <?= $this->Form->postLink(__('<i class="icon-trash"></i>'), ['action' => 'delete', $user->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $user->id)]) ?>