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 50  
51 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 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 @@
  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 @@
  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 177  
178 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 183 $displayElement = function ($nom, $valeur) {
181 184 if ($valeur != "")
182 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 48 if(empty($id)) {
49 49 $id = $doc->get('suivi_id');
50 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 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 65 } else {
58 66 $materielTable = TableRegistry::get('Materiels');
59 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 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 135 {
136 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 149 public function isCreated($id)
... ... @@ -171,15 +179,34 @@ class MaterielsController extends AppController
171 179 }
172 180  
173 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 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 210 $MY = $this->request->query('MY');
184 211 if(isset($MY)) {
185 212 if(in_array($this->role, ['Utilisateur', 'Responsable'])) {
... ...
src/Controller/SuivisController.php
... ... @@ -48,7 +48,15 @@ class SuivisController extends AppController
48 48 {
49 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 69 $condition = '';
62 70  
63 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 86 $this->paginate = [
... ...
src/Controller/UsersController.php
... ... @@ -86,6 +86,8 @@ class UsersController extends AppController
86 86 //Affichage informations disponible pour l'utilisateur connecté
87 87 $this->myDebug($this->LdapAuth->user());
88 88  
  89 + $this->set('nbUsers', $this->Users->find('all')->count());
  90 +
89 91 $this->set(compact('users'));
90 92 $this->set('_serialize', ['users']);
91 93 }
... ...
src/Model/Table/UsersTable.php
... ... @@ -93,7 +93,7 @@ class UsersTable extends AppTable
93 93 public function buildRules(RulesChecker $rules)
94 94 {
95 95 $rules->add($rules->isUnique(['username']));
96   - $rules->add($rules->isUnique(['email']));
  96 + //$rules->add($rules->isUnique(['email']));
97 97 $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers'));
98 98 $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques'));
99 99 return $rules;
... ...
src/Template/Categories/index.ctp
... ... @@ -13,9 +13,7 @@
13 13 <tbody>
14 14 <?php foreach ($categories as $category): ?>
15 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 17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
20 18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $category->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
21 19 <?php } ?>
... ...
src/Template/Element/menu_view.ctp
... ... @@ -27,6 +27,8 @@ use Cake\ORM\TableRegistry;
27 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 33 </li>
32 34  
... ... @@ -36,8 +38,18 @@ use Cake\ORM\TableRegistry;
36 38  
37 39 if($singularHumanName == 'Matériel') {
38 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 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 54 }else {
43 55 if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
... ... @@ -53,8 +65,16 @@ use Cake\ORM\TableRegistry;
53 65 if(in_array($username, [$suivi->nom_createur])) {
54 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 79 } else {
60 80 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
... ... @@ -81,17 +101,33 @@ use Cake\ORM\TableRegistry;
81 101  
82 102 if(empty($id)) {
83 103 $id = $doc->get('suivi_id');
84   - $suiviTable = TableRegistry::get('Suivis');
85 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 116 if ($role == 'Utilisateur') {
89 117 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
90 118 }
91 119 } else {
92   - $materielTable = TableRegistry::get('Materiels');
93 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 132 if ($role == 'Utilisateur') {
97 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 171  
136 172 if($singularHumanName == 'Matériel') {
137 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 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 195 if(in_array($username, [$suivi->nom_createur])) {
149 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 209 } else {
155 210 if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
... ... @@ -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 225 $id = $doc->get('materiel_id');
170   -
  226 +
171 227 if(empty($id)) {
172 228 $id = $doc->get('suivi_id');
173   - $suiviTable = TableRegistry::get('Suivis');
174 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 241 if ($role == 'Utilisateur') {
178 242 $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
179 243 }
180 244 } else {
181   - $materielTable = TableRegistry::get('Materiels');
182 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 257 if ($role == 'Utilisateur') {
186 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 263 else {
192 264 if (in_array($role, ['Super Administrateur'])) {
193 265 $isAuthorized = true;
... ...
src/Template/GroupesMetiers/index.ctp
... ... @@ -16,9 +16,7 @@
16 16 ?>
17 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 20 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
23 21 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesMetier->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 22 <?php } ?>
... ...
src/Template/GroupesThematiques/index.ctp
... ... @@ -14,9 +14,7 @@
14 14 <?php foreach ($groupesThematiques as $groupesThematique):
15 15 if($groupesThematique->nom != 'N/A') {?>
16 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 18 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
21 19 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $groupesThematique->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
22 20 <?php } ?>
... ...
src/Template/Layout/default.ctp
... ... @@ -94,7 +94,7 @@ $cakeDescription = &#39;Labinvent 2&#39;;
94 94 </i></td>
95 95 <td id="version">
96 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 98 </td>
99 99 </tr>
100 100 </table>
... ...
src/Template/Materiels/find.ctp
... ... @@ -209,16 +209,13 @@ if ($r) {
209 209 <table cellpadding="0" cellspacing="0">
210 210 <thead>
211 211 <tr>
212   -
  212 + <th class="actions"><?= __('') ?></th>
213 213 <th><?= $this->Paginator->sort('designation','Désignation') ?></th>
214 214 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th>
215 215 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th>
216 216 <th><?= $this->Paginator->sort('nom_responsable', $configuration->nom_responsable) ?></th>
217 217 <th><?= $this->Paginator->sort('status', 'Statut') ?></th>
218 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 219 </tr>
223 220 </thead>
224 221 <tbody>
... ... @@ -226,6 +223,71 @@ if ($r) {
226 223 <?php
227 224 foreach ( $_results as $material ) :
228 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 292 echo '<td class="smallText">';
231 293 echo $this->Html->link ( h($material->designation), [
... ... @@ -255,68 +317,7 @@ if ($r) {
255 317 echo $material->date_acquisition;
256 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 321 echo '<tr>';
321 322 endforeach;
322 323 echo '</tbody>';
... ...
src/Template/Materiels/index.ctp
... ... @@ -107,9 +107,7 @@ if (isset ( $STATUS )) {
107 107 <thead>
108 108 <tr>
109 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 111 <th><?= $this->Paginator->sort('designation','Désignation') ?></th>
114 112 <th><?= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?></th>
115 113 <th><?= $this->Paginator->sort('categorie_id', 'Catégorie') ?></th>
... ... @@ -119,9 +117,6 @@ if (isset ( $STATUS )) {
119 117 <th><?= $this->Paginator->sort('status', 'Statut') ?></th>
120 118 <th><?= $this->Paginator->sort('date_acquisition', 'Date Achat') ?></th>
121 119 <th><?= $this->Paginator->sort('etiquette', 'Et') ?></th>
122   - <th class="actions"><?= __('') ?></th>
123   - <th class="actions"><?= __('') ?></th>
124   - <th class="actions"><?= __('') ?></th>
125 120 </tr>
126 121 </thead>
127 122 <tbody>
... ... @@ -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 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 137 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
140 138 <?php } endif; ?>
141   - </td>
142   -
143   - <td class="actions" style="padding: 6px 0;">
  139 +
144 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 146 if(h($materiel->status) == 'CREATED') {
148 147 echo $this->Html->link('<i class="icon-ok-sign"></i>',
... ... @@ -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 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 173 echo $this->Html->link(__('<i class="icon-trash"></i>'),
176 174 ['action' => 'delete', $materiel->id],
177 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 48 'CREATED',
49 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 57 echo $this->Html->link ( __ ( '<i class="icon-pencil"></i> Editer ce matériel' ), [
60 58 'action' => 'edit',
61 59 $materiel->id
... ... @@ -65,7 +63,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
65 63 'style' => 'margin-right: 10px'
66 64 ] );
67 65 }
68   - } else {
  66 + }
  67 +
  68 + else {
69 69 if (in_array ( $role, [
70 70 'Administration Plus',
71 71 'Super Administrateur'
... ... @@ -112,7 +112,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
112 112 'Administration',
113 113 'Administration Plus',
114 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 119 echo $this->Html->link ( '<i class="icon-file"></i> Lier un Doc.', [
118 120 'controller' => 'documents',
... ... @@ -185,7 +187,9 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
185 187 'Administration',
186 188 'Administration Plus',
187 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 193 // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver
190 194 switch ($materiel->status) {
191 195 case "CREATED" :
... ... @@ -415,7 +419,10 @@ if (h ( $materiel-&gt;status ) == &#39;ARCHIVED&#39;)
415 419  
416 420 <td class="actions" style="padding: 6px 0; text-align: left;">
417 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 427 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Suivis', 'action' => 'edit', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?>
421 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 476  
470 477 <td class="actions" style="padding: 6px 0; text-align: left;">
471 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 484 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Emprunts', 'action' => 'edit', $emprunts->id], ['escape' => false, 'style' => 'margin:0'])?>
475 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 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 557 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
545 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 13 <?php foreach ($organismes as $organisme): ?>
14 14 <tr>
15 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 16 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
19 17 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $organisme->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
20 18 <?php } ?>
... ...
src/Template/Pages/home_app.ctp
... ... @@ -26,17 +26,20 @@
26 26 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).' </td></tr>';
27 27 echo '</table>';
28 28 }
  29 +
  30 +
  31 +
29 32  
30 33 //Utilisateur responsable
31 34 if ($role == 'Responsable') {
32 35 echo '<table cellpadding="0" cellspacing="0" style="width: 800px;">';
33 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 43 echo '</table>';
41 44 }
42 45 ?>
... ...
src/Template/Sites/index.ctp
... ... @@ -17,9 +17,7 @@
17 17  
18 18  
19 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 21 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
24 22 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $site->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
25 23 <?php } ?>
... ...
src/Template/SousCategories/index.ctp
... ... @@ -13,9 +13,7 @@
13 13 <tbody>
14 14 <?php foreach ($sousCategories as $sousCategory): ?>
15 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 17 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
20 18 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $sousCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
21 19 <?php } ?>
... ...
src/Template/Suivis/find.ctp
... ... @@ -103,6 +103,7 @@ $r = isset ($_results);
103 103 <table cellpadding="0" cellspacing="0">
104 104 <thead>
105 105 <tr>
  106 + <th class="actions"><?= __('') ?></th>
106 107 <th><?= $this->Paginator->sort('id', 'N°') ?></th>
107 108 <th><?= $this->Paginator->sort('materiel', 'Matériel') ?></th>
108 109 <th><?= $this->Paginator->sort('materiel', 'N° interne (labo)') ?></th>
... ... @@ -110,9 +111,7 @@ $r = isset ($_results);
110 111 <th><?= $this->Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?></th>
111 112 <th><?= $this->Paginator->sort('type_suivi_id', "Type d'intervention") ?></th>
112 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 115 </tr>
117 116 </thead>
118 117 <tbody>
... ... @@ -124,6 +123,20 @@ $r = isset ($_results);
124 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 140 <td class="smallText"><?php echo $this->Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?></td>
128 141 <td class="smallText"><?= $this->Html->link($mat['designation'], ['controller' => 'Materiels', 'action' => 'view', $mat['id']])?></td>
129 142 <td class="smallText"><?= $mat['numero_laboratoire'] ?></td>
... ... @@ -133,17 +146,6 @@ $r = isset ($_results);
133 146 <td class="smallText"><?= h($suivi->statut) ?></td>
134 147  
135 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 150 echo '</tr>';
149 151 endforeach;
... ...
src/Template/Suivis/index.ctp
... ... @@ -19,7 +19,10 @@
19 19 <?php foreach ($suivis as $suivi): ?>
20 20 <tr>
21 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 26 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 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 28 <?php } ?>
... ...
src/Template/Suivis/view.ctp
... ... @@ -6,7 +6,10 @@
6 6  
7 7 <div class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
8 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 13 echo $this->Html->link(__('<i class="icon-pencil"></i> Editer ce suivi'),
11 14 ['action' => 'edit', $suivi->id],
12 15 ['escape' => false,'onclick' => 'return true;']
... ... @@ -78,7 +81,10 @@
78 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 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 89 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?>
84 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 11 <tbody>
12 12 <?php foreach ($surCategories as $surCategory): ?>
13 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 15 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
18 16 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $surCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
19 17 <?php } ?>
... ...
src/Template/TypeDocuments/index.ctp
... ... @@ -17,8 +17,6 @@
17 17  
18 18 <tr>
19 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 20 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
23 21 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeDocument->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
24 22 <?php } ?>
... ...
src/Template/TypeSuivis/index.ctp
... ... @@ -11,9 +11,7 @@
11 11 <tbody>
12 12 <?php foreach ($typeSuivis as $typeSuivi): ?>
13 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 15 <?php if (in_array($role, ['Administration Plus', 'Super Administrateur'])) { ?>
18 16 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $typeSuivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
19 17 <?php } ?>
... ...
src/Template/Users/index.ctp
1 1  
2 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 4 <table cellpadding="0" cellspacing="0">
5 5 <thead>
6 6 <tr>
... ... @@ -15,9 +15,7 @@
15 15 <tbody>
16 16 <?php foreach ($users as $user): ?>
17 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 19 <?php if($role == 'Super Administrateur') { ?>
22 20 <?= $this->Html->link(__('<i class="icon-pencil"></i>'), ['action' => 'edit', $user->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
23 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)]) ?>
... ...