diff --git a/README-LABINVENT.md b/README-LABINVENT.md index 125e9a7..724edc7 100755 --- a/README-LABINVENT.md +++ b/README-LABINVENT.md @@ -50,10 +50,15 @@ Logiciel testé et validé sur les configurations suivantes : VERSION ACTUELLE -Date: 30/06/2016 -Version: 2.5.4.3 +Date: 01/07/2016 +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) -boutons materiels à gauche (index) + mail administratif désactivé Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 diff --git a/database/update/db-update-2016-07-01.sh b/database/update/db-update-2016-07-01.sh new file mode 100755 index 0000000..0c661dc --- /dev/null +++ b/database/update/db-update-2016-07-01.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente +# Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur +# Pour cela, il suffit d'executer ces 2 lignes : +# cp ce_script.sh ce_script_macosx.sh +# sed -e "s/ -i / -i '' /" -i '' ce_script_macosx.sh + +if [ ! -f ../../config/app.php ] ; then +echo "Vous devez executer ce script depuis le dossier database/update/" +exit 1 +fi + + +# Get login, pass, dbname, and hostname +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) + + +cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql + +# Execute sql update script +sed -e "s/database/$database/" -i ./script_sql/db-update-2016-07-01-irap-build.sql +mysql --user=$username --password=$password -h $host < ./script_sql/db-update-2016-07-01-irap-build.sql + +# Delete cakephp cache +sudo rm ../../tmp/cache/models/* +sudo rm ../../tmp/cache/persistent/* + +sudo chmod -R 777 ../../tmp +sudo chmod -R 777 ../../vendor +sudo chmod -R 777 ../../webroot diff --git a/database/update/script_sql/db-update-2016-07-01-irap.sql b/database/update/script_sql/db-update-2016-07-01-irap.sql new file mode 100755 index 0000000..e5db8d6 --- /dev/null +++ b/database/update/script_sql/db-update-2016-07-01-irap.sql @@ -0,0 +1,3 @@ +use database; + +ALTER TABLE users CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY; diff --git a/src/Controller/AppController.php b/src/Controller/AppController.php index 734bb5b..dadf9df 100755 --- a/src/Controller/AppController.php +++ b/src/Controller/AppController.php @@ -177,6 +177,9 @@ class AppController extends Controller $this->set('userConnected', $user); + $this->set('idGmNa', TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']); + $this->set('idGtNa', TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']); + $displayElement = function ($nom, $valeur) { if ($valeur != "") echo ''.$nom.' '.$valeur.''; diff --git a/src/Controller/DocumentsController.php b/src/Controller/DocumentsController.php index 18b4e2f..6a76f9b 100755 --- a/src/Controller/DocumentsController.php +++ b/src/Controller/DocumentsController.php @@ -48,19 +48,35 @@ class DocumentsController extends AppController if(empty($id)) { $id = $doc->get('suivi_id'); $suiviTable = TableRegistry::get('Suivis'); - if ($role == 'Responsable') { - return ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + if ($role == 'Responsable') { + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']])); + } + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + } + else { + return false; + } } if ($role == 'Utilisateur') { - return $suiviTable->exists(['id' => $id, 'nom_createur' => $user['givenname'][0].' '.$user['sn'][0]]); + return $suiviTable->exists(['id' => $id, 'nom_createur' => $user['sn'][0].' '.$user['givenname'][0]]); } } else { $materielTable = TableRegistry::get('Materiels'); if ($role == 'Responsable') { - return ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']])); + } + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + } + else { + return false; + } } if ($role == 'Utilisateur') { - 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]])); + 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]])); } } } diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index e9ad003..7e10719 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -135,7 +135,15 @@ class MaterielsController extends AppController { $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first(); - 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']])); + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($this->Materiels->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']])); + } + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($this->Materiels->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + } + else { + return false; + } } public function isCreated($id) @@ -171,15 +179,34 @@ class MaterielsController extends AppController } $GM = $this->request->query('GM'); - if(isset($GM)) { - $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GM'), 'Materiels.status !=' => 'ARCHIVED']; + $GT = $this->request->query('GT'); + if(isset($GM) || isset($GT)) { + if(isset($GM) && $GM != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Materiels.groupes_metier_id =' => $GM, 'Materiels.status !=' => 'ARCHIVED']; + } + else if (isset($GT) && $GT != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Materiels.groupes_thematique_id =' => $GT, 'Materiels.status !=' => 'ARCHIVED']; + } + else { + $condition = ['Materiels.id =' => 0]; + } } - + $GMV = $this->request->query('GMV'); - if(isset($GMV)) { - $condition = ['Materiels.groupes_metier_id =' => $this->request->query('GMV'), 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED']; + $GTV = $this->request->query('GTV'); + if(isset($GMV) || isset($GTV)) { + if(isset($GMV) && $GMV != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Materiels.groupes_metier_id =' => $GMV, 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED']; + } + else if (isset($GTV) && $GTV != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Materiels.groupes_metier_id =' => $GTV, 'Materiels.status =' => 'CREATED', 'Materiels.status !=' => 'ARCHIVED']; + } + else { + $condition = ['Materiels.id =' => 0]; + } } + $MY = $this->request->query('MY'); if(isset($MY)) { if(in_array($this->role, ['Utilisateur', 'Responsable'])) { diff --git a/src/Controller/SuivisController.php b/src/Controller/SuivisController.php index 083dcf5..2124a94 100755 --- a/src/Controller/SuivisController.php +++ b/src/Controller/SuivisController.php @@ -48,7 +48,15 @@ class SuivisController extends AppController { $u = TableRegistry::get('Users')->find()->where(['username' => $loginResponsable])->first(); - 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']])); + if(isset($u['groupes_metier_id']) && $u['groupes_metier_id'] != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($this->Suivis->exists(['id' => $id, 'groupes_metier_id' => $u['groupes_metier_id']])); + } + else if (isset($u['groupe_thematique_id']) && $u['groupe_thematique_id'] != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + return ($this->Suivis->exists(['id' => $id, 'groupes_thematique_id' => $u['groupe_thematique_id']])); + } + else { + return false; + } } /** @@ -61,8 +69,18 @@ class SuivisController extends AppController $condition = ''; $GM = $this->request->query('GM'); - if(isset($GM)) { - $condition = ['Suivis.groupes_metier_id =' => $this->request->query('GM')]; + $GT = $this->request->query('GT'); + + if(isset($GM) || isset($GT)) { + if(isset($GM) && $GM != TableRegistry::get('GroupesMetiers')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Suivis.groupes_metier_id =' => $GM]; + } + else if (isset($GT) && $GT != TableRegistry::get('GroupesThematiques')->find()->where(['nom =' => 'N/A'])->first()['id']) { + $condition = ['Suivis.groupes_thematique_id =' => $GT]; + } + else { + $condition = ['Suivis.id =' => 0]; + } } $this->paginate = [ diff --git a/src/Controller/UsersController.php b/src/Controller/UsersController.php index 4794d7a..1b2071f 100755 --- a/src/Controller/UsersController.php +++ b/src/Controller/UsersController.php @@ -86,6 +86,8 @@ class UsersController extends AppController //Affichage informations disponible pour l'utilisateur connecté $this->myDebug($this->LdapAuth->user()); + $this->set('nbUsers', $this->Users->find('all')->count()); + $this->set(compact('users')); $this->set('_serialize', ['users']); } diff --git a/src/Model/Table/UsersTable.php b/src/Model/Table/UsersTable.php index bb159b4..2fcf5d4 100755 --- a/src/Model/Table/UsersTable.php +++ b/src/Model/Table/UsersTable.php @@ -93,7 +93,7 @@ class UsersTable extends AppTable public function buildRules(RulesChecker $rules) { $rules->add($rules->isUnique(['username'])); - $rules->add($rules->isUnique(['email'])); + //$rules->add($rules->isUnique(['email'])); $rules->add($rules->existsIn(['groupes_metier_id'], 'GroupesMetiers')); $rules->add($rules->existsIn(['groupe_thematique_id'], 'GroupesThematiques')); return $rules; diff --git a/src/Template/Categories/index.ctp b/src/Template/Categories/index.ctp index b5cfedf..8fa7b06 100755 --- a/src/Template/Categories/index.ctp +++ b/src/Template/Categories/index.ctp @@ -13,9 +13,7 @@ - - Html->link(__(''), ['action' => 'view', $category->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $category->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Element/menu_view.ctp b/src/Template/Element/menu_view.ctp index 797ef97..2ce6064 100755 --- a/src/Template/Element/menu_view.ctp +++ b/src/Template/Element/menu_view.ctp @@ -27,6 +27,8 @@ use Cake\ORM\TableRegistry; echo $this->Html->link (' Retour', 'javascript:window.history.go(-1)', ['escape' => false]); } + + ?> @@ -36,8 +38,18 @@ use Cake\ORM\TableRegistry; if($singularHumanName == 'Matériel') { if (in_array($materiel->status, ['CREATED', 'VALIDATED'])) { - 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']))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) { $isAuthorized = true; + } else if($role == 'Responsable') { + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) { + $isAuthorized = true; + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) { + $isAuthorized = true; + } + else { + $isAuthorized = false; + } } }else { if(in_array($role, ['Administration Plus', 'Super Administrateur'])) { @@ -53,8 +65,16 @@ use Cake\ORM\TableRegistry; if(in_array($username, [$suivi->nom_createur])) { $isAuthorized = true; } - else if ($role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) { - $isAuthorized = true; + else if($role == 'Responsable') { + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) { + $isAuthorized = true; + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) { + $isAuthorized = true; + } + else { + $isAuthorized = false; + } } } else { if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) { @@ -81,17 +101,33 @@ use Cake\ORM\TableRegistry; if(empty($id)) { $id = $doc->get('suivi_id'); - $suiviTable = TableRegistry::get('Suivis'); if ($role == 'Responsable') { - $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); + $suiviTable = TableRegistry::get('Suivis'); + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) { + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id])); + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) { + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id])); + } + else { + $isAuthorized = false; + } } if ($role == 'Utilisateur') { $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]); } } else { - $materielTable = TableRegistry::get('Materiels'); if ($role == 'Responsable') { - $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); + $materielTable = TableRegistry::get('Materiels'); + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) { + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id])); + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) { + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id])); + } + else { + $isAuthorized = false; + } } if ($role == 'Utilisateur') { $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username])); @@ -135,8 +171,19 @@ use Cake\ORM\TableRegistry; if($singularHumanName == 'Matériel') { if ($materiel->status == 'CREATED') { - 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']))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) { $isAuthorized = true; + } + else if($role == 'Responsable') { + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) { + $isAuthorized = true; + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) { + $isAuthorized = true; + } + else { + $isAuthorized = false; + } } } } @@ -148,8 +195,16 @@ use Cake\ORM\TableRegistry; if(in_array($username, [$suivi->nom_createur])) { $isAuthorized = true; } - else if ($role == 'Responsable' && ($suivi->groupes_metier_id == $userConnected->groupes_metier_id || $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)) { - $isAuthorized = true; + else if($role == 'Responsable') { + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) { + $isAuthorized = true; + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) { + $isAuthorized = true; + } + else { + $isAuthorized = false; + } } } else { if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) { @@ -160,34 +215,51 @@ use Cake\ORM\TableRegistry; } } } - } else if ($singularHumanName == 'Document') { - if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { - $isAuthorized = true; - } - $doc = TableRegistry::get('Documents')->get((int)$this->request->params['pass'][0]); - + } + else if ($singularHumanName == 'Document') { + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) { + $isAuthorized = true; + } + $doc = TableRegistry::get('Documents')->get((int)$this->request->params['pass'][0]); + $id = $doc->get('materiel_id'); - + if(empty($id)) { $id = $doc->get('suivi_id'); - $suiviTable = TableRegistry::get('Suivis'); if ($role == 'Responsable') { - $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); + $suiviTable = TableRegistry::get('Suivis'); + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) { + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id])); + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) { + $isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id])); + } + else { + $isAuthorized = false; + } } if ($role == 'Utilisateur') { $isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]); } } else { - $materielTable = TableRegistry::get('Materiels'); if ($role == 'Responsable') { - $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected['groupes_metier_id']]) || $materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected['groupe_thematique_id']])); + $materielTable = TableRegistry::get('Materiels'); + if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) { + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id])); + } + else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) { + $isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id])); + } + else { + $isAuthorized = false; + } } if ($role == 'Utilisateur') { $isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username])); - } + } } - - } + + } else { if (in_array($role, ['Super Administrateur'])) { $isAuthorized = true; diff --git a/src/Template/GroupesMetiers/index.ctp b/src/Template/GroupesMetiers/index.ctp index 427e2bc..4c116e0 100755 --- a/src/Template/GroupesMetiers/index.ctp +++ b/src/Template/GroupesMetiers/index.ctp @@ -16,9 +16,7 @@ ?> - - Html->link(__(''), ['action' => 'view', $groupesMetier->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $groupesMetier->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/GroupesThematiques/index.ctp b/src/Template/GroupesThematiques/index.ctp index b5402a9..9279fb1 100755 --- a/src/Template/GroupesThematiques/index.ctp +++ b/src/Template/GroupesThematiques/index.ctp @@ -14,9 +14,7 @@ nom != 'N/A') {?> - - Html->link(__(''), ['action' => 'view', $groupesThematique->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $groupesThematique->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Layout/default.ctp b/src/Template/Layout/default.ctp index 7f492f3..4f52741 100755 --- a/src/Template/Layout/default.ctp +++ b/src/Template/Layout/default.ctp @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2'; - VERSION 2.5.4.3 (30/06/2016) + VERSION 2.5.5.0 (01/07/2016) diff --git a/src/Template/Materiels/find.ctp b/src/Template/Materiels/find.ctp index 8b495ba..3ad78e1 100644 --- a/src/Template/Materiels/find.ctp +++ b/src/Template/Materiels/find.ctp @@ -209,16 +209,13 @@ if ($r) { - + - - - @@ -226,6 +223,71 @@ if ($r) { '; + echo ' '; echo ''; - /* - * ACTION 'edit' - */ - if (in_array($material->status, ['CREATED', 'VALIDATED'])) { - 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))) { - echo ''; - } - }else { - if(in_array($role, ['Administration Plus', 'Super Administrateur'])) { - echo ''; - } - } - - - echo ''; - - echo ''; + echo ''; endforeach; echo ''; diff --git a/src/Template/Materiels/index.ctp b/src/Template/Materiels/index.ctp index 614821b..558c74c 100755 --- a/src/Template/Materiels/index.ctp +++ b/src/Template/Materiels/index.ctp @@ -107,9 +107,7 @@ if (isset ( $STATUS )) { '; }?> - - - + @@ -119,9 +117,6 @@ if (isset ( $STATUS )) { - - - @@ -132,17 +127,21 @@ if (isset ( $STATUS )) { } ?> - - - - '; echo '
Paginator->sort('designation','Désignation') ?> Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?> Paginator->sort('categorie_id', 'Catégorie') ?> Paginator->sort('nom_responsable', $configuration->nom_responsable) ?> Paginator->sort('status', 'Statut') ?> Paginator->sort('date_acquisition', 'Date') ?>
'; + /* + * ACTION 'edit' + */ + if (in_array($material->status, ['CREATED', 'VALIDATED'])) { + if(($role == 'Utilisateur' && (in_array($username, [$material->nom_createur, $material->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { + echo $this->Html->link('', + ['action' => 'edit', $material->id], + ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false] + ); + } + }else { + if(in_array($role, ['Administration Plus', 'Super Administrateur'])) { + + echo $this->Html->link('', + ['action' => 'edit', $material->id], + ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false] + ); + } + } + + + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { + if(h($material->status) == 'CREATED') { + echo $this->Html->link('', + ['action' => 'statusValidated', $material->id], + ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false, + 'confirm' => 'Êtes-vous sur de vouloir validé '.$material->designation.' ?']); + } + else if (h($material->status) == 'VALIDATED') { + echo $this->Html->link('', + ['action' => 'statusToBeArchived', $material->id], + ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, + 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']); + + } + else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){ + echo $this->Html->link('', + ['action' => 'statusArchived', $material->id], + ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, + 'confirm' => 'Êtes-vous sur de vouloir archivé '.$material->designation.' ?']); + } + } + /* + * ACTION 'delete' + */ + // Seul un materiel CREATED peut être supprimer + if ($material->status == 'CREATED') { + if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$material->nom_createur, $material->nom_responsable]) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $material->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $material->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { + echo $this->Html->link(__(''), + ['action' => 'delete', $material->id], + ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $material->designation)] + ); + } + } + echo ''; echo $this->Html->link ( h($material->designation), [ @@ -255,68 +317,7 @@ if ($r) { echo $material->date_acquisition; echo ''; - echo $this->Html->link('', - ['action' => 'edit', $material->id], - ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false] - ); - echo ''; - echo $this->Html->link('', - ['action' => 'edit', $material->id], - ['title' => 'Éditer', 'style' => 'margin: 0 2px', 'escape' => false] - ); - echo ''; - 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))) { - if(h($material->status) == 'CREATED') { - echo $this->Html->link('', - ['action' => 'statusValidated', $material->id], - ['title' => 'Valider', 'style' => 'margin: 0 2px', 'escape' => false, - 'confirm' => 'Êtes-vous sur de vouloir validé '.$material->designation.' ?']); - } - else if (h($material->status) == 'VALIDATED') { - echo $this->Html->link('', - ['action' => 'statusToBeArchived', $material->id], - ['title' => 'Demander la sortie de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, - 'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive '.$material->designation.' ?']); - - } - else if (h($material->status) == 'TOBEARCHIVED' && $role != 'Responsable' && $role != 'Super Administrateur'){ - echo $this->Html->link('', - ['action' => 'statusArchived', $material->id], - ['title' => 'Sortir de l\'inventaire', 'style' => 'margin: 0 2px', 'escape' => false, - 'confirm' => 'Êtes-vous sur de vouloir archivé '.$material->designation.' ?']); - } - } - echo ''; - /* - * ACTION 'delete' - */ - // Seul un materiel CREATED peut être supprimer - if ($material->status == 'CREATED') { - 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))) { - echo $this->Html->link(__(''), - ['action' => 'delete', $material->id], - ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $material->designation)] - ); - } - } - echo '
Paginator->sort('designation','Désignation') ?> Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?> Paginator->sort('categorie_id', 'Catégorie') ?>Paginator->sort('status', 'Statut') ?> Paginator->sort('date_acquisition', 'Date Achat') ?> Paginator->sort('etiquette', 'Et') ?>
+ status, ['CREATED', 'VALIDATED'])): - 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))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { + if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { if(h($materiel->status) == 'CREATED') { echo $this->Html->link('', @@ -166,12 +165,11 @@ if (isset ( $STATUS )) { } - ?> - - status) == 'CREATED') { - 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))) { + if(($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { echo $this->Html->link(__(''), ['action' => 'delete', $materiel->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $materiel->designation)]); diff --git a/src/Template/Materiels/view.ctp b/src/Template/Materiels/view.ctp index 8269448..eb8e255 100755 --- a/src/Template/Materiels/view.ctp +++ b/src/Template/Materiels/view.ctp @@ -48,14 +48,12 @@ if (h ( $materiel->status ) == 'ARCHIVED') 'CREATED', 'VALIDATED' ] )) { - 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))) { + if (($role == 'Utilisateur' && (in_array ( $username, [$materiel->nom_createur, $materiel->nom_responsable ]))) + || (in_array ( $role, [ 'Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { + echo $this->Html->link ( __ ( ' Editer ce matériel' ), [ 'action' => 'edit', $materiel->id @@ -65,7 +63,9 @@ if (h ( $materiel->status ) == 'ARCHIVED') 'style' => 'margin-right: 10px' ] ); } - } else { + } + + else { if (in_array ( $role, [ 'Administration Plus', 'Super Administrateur' @@ -112,7 +112,9 @@ if (h ( $materiel->status ) == 'ARCHIVED') 'Administration', 'Administration Plus', 'Super Administrateur' - ] )) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { + ] )) || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { echo $this->Html->link ( ' Lier un Doc.', [ 'controller' => 'documents', @@ -185,7 +187,9 @@ if (h ( $materiel->status ) == 'ARCHIVED') 'Administration', 'Administration Plus', 'Super Administrateur' - ] ) || ($role == 'Responsable' && ($materiel->groupes_metier_id == $userConnected->groupes_metier_id || $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id))) { + ] ) || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { // 2) Bouton de changement de statut : Valider, Demander archivage, ou Archiver switch ($materiel->status) { case "CREATED" : @@ -415,7 +419,10 @@ if (h ( $materiel->status ) == 'ARCHIVED') 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))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['controller' => 'Suivis', 'action' => 'edit', $suivis->id], ['escape' => false, 'style' => 'margin:0'])?> Form->postLink(__(''), ['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->emprunts as $emprunts ) : 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))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['controller' => 'Emprunts', 'action' => 'edit', $emprunts->id], ['escape' => false, 'style' => 'margin:0'])?> Form->postLink(__(''), ['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->documents as $documents ) : ] ); } - 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))) { + if(($role == 'Utilisateur' && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> Form->postLink(__(''), ['controller' => 'Documents', 'action' => 'delete', $documents->id], ['escape' => false, 'style' => 'margin:0', 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id)])?> diff --git a/src/Template/Organismes/index.ctp b/src/Template/Organismes/index.ctp index 1901fb0..68e2441 100755 --- a/src/Template/Organismes/index.ctp +++ b/src/Template/Organismes/index.ctp @@ -13,8 +13,6 @@
- Html->link(__(''), ['action' => 'view', $organisme->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - Html->link(__(''), ['action' => 'edit', $organisme->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Pages/home_app.ctp b/src/Template/Pages/home_app.ctp index 98ddad5..c92de10 100755 --- a/src/Template/Pages/home_app.ctp +++ b/src/Template/Pages/home_app.ctp @@ -26,17 +26,20 @@ 'controller' => 'materiels', 'action' => 'index', 'TOBEARCHIVED']).'
'; } + + + //Utilisateur responsable if ($role == 'Responsable') { echo ''; echo ''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; echo '
'.$this->Html->link('Voir les matériels de mon groupe métier', [ - 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).'
'.$this->Html->link('Voir les matériels de mon groupe métier à valider', [ - 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id]).'
'.$this->Html->link('Voir les suivis des materiels donc je suis responsable', [ - 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id]).'
'.$this->Html->link('Voir les matériels dont je suis responsable', [ + 'controller' => 'materiels', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).'
'.$this->Html->link('Voir les matériels à valider dont je suis responsable', [ + 'controller' => 'materiels', 'action' => 'index', 'GMV' => $userConnected->groupes_metier_id, 'GTV' => $userConnected->groupe_thematique_id]).'
'.$this->Html->link('Voir les suivis des materiels dont je suis responsable', [ + 'controller' => 'suivis', 'action' => 'index', 'GM' => $userConnected->groupes_metier_id, 'GT' => $userConnected->groupe_thematique_id]).'
'; } ?> diff --git a/src/Template/Sites/index.ctp b/src/Template/Sites/index.ctp index 31e343b..85d59c4 100755 --- a/src/Template/Sites/index.ctp +++ b/src/Template/Sites/index.ctp @@ -17,9 +17,7 @@ - - Html->link(__(''), ['action' => 'view', $site->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $site->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/SousCategories/index.ctp b/src/Template/SousCategories/index.ctp index 88f3520..8624894 100755 --- a/src/Template/SousCategories/index.ctp +++ b/src/Template/SousCategories/index.ctp @@ -13,9 +13,7 @@ - - Html->link(__(''), ['action' => 'view', $sousCategory->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $sousCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Suivis/find.ctp b/src/Template/Suivis/find.ctp index 592ab44..f32a483 100755 --- a/src/Template/Suivis/find.ctp +++ b/src/Template/Suivis/find.ctp @@ -103,6 +103,7 @@ $r = isset ($_results); + @@ -110,9 +111,7 @@ $r = isset ($_results); - - - + @@ -124,6 +123,20 @@ $r = isset ($_results); $mat = $materiels->find()->where(['id =' => $suivi->materiel_id])->first(); ?> + + '; + } + + ?> + @@ -133,17 +146,6 @@ $r = isset ($_results); '; - echo $this->Html->link(__(''), ['action' => 'view', $suivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]); - - - 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)) { - - echo $this->Html->link(__(''), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]); - echo $this->Form->postLink(__(''), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]); - echo ''; - } - echo ''; endforeach; diff --git a/src/Template/Suivis/index.ctp b/src/Template/Suivis/index.ctp index 8cc6f1f..10ce294 100755 --- a/src/Template/Suivis/index.ctp +++ b/src/Template/Suivis/index.ctp @@ -19,7 +19,10 @@ - -
Paginator->sort('id', 'N°') ?> Paginator->sort('materiel', 'Matériel') ?> Paginator->sort('materiel', 'N° interne (labo)') ?>Paginator->sort('date_prochain_controle', 'Date prochaine intervention') ?> Paginator->sort('type_suivi_id', "Type d'intervention") ?> Paginator->sort('statut', "Statut") ?>
+ nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { + echo $this->Html->link(__(''), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]); + echo $this->Form->postLink(__(''), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]); + echo ' Html->link('Suivi '.$this->Number->format($suivi->id), ['action' => 'view', $suivi->id])?> Html->link($mat['designation'], ['controller' => 'Materiels', 'action' => 'view', $mat['id']])?> statut) ?>
- 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)) { ?> + nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['action' => 'edit', $suivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> Form->postLink(__(''), ['action' => 'delete', $suivi->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id)]) ?> diff --git a/src/Template/Suivis/view.ctp b/src/Template/Suivis/view.ctp index 1eb1d82..efca272 100755 --- a/src/Template/Suivis/view.ctp +++ b/src/Template/Suivis/view.ctp @@ -6,7 +6,10 @@
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)) { + if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { echo $this->Html->link(__(' Editer ce suivi'), ['action' => 'edit', $suivi->id], ['escape' => false,'onclick' => 'return true;'] @@ -78,7 +81,10 @@ Html->link(__(''), '/webroot/files/'.$documents->id.'.'.$documents->type_doc, ['title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]) ?> 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)) { + if(($role == 'Utilisateur' && in_array($username, [$suivi->nom_createur])) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) + || ($role == 'Responsable' && + ((isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) + ||(isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id)))) { ?> Html->link(__(''), ['controller' => 'Documents', 'action' => 'edit', $documents->id], ['escape' => false, 'style' => 'margin:0'])?> Form->postLink(__(''), ['controller' => 'Documents', 'action' => 'delete', $documents->id], ['escape' => false, 'style' => 'margin:0', 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id)]) ?> diff --git a/src/Template/SurCategories/index.ctp b/src/Template/SurCategories/index.ctp index a75ae76..fddc9b8 100755 --- a/src/Template/SurCategories/index.ctp +++ b/src/Template/SurCategories/index.ctp @@ -11,9 +11,7 @@
- Html->link(__(''), ['action' => 'view', $surCategory->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $surCategory->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/TypeDocuments/index.ctp b/src/Template/TypeDocuments/index.ctp index 2c75745..c6f4546 100755 --- a/src/Template/TypeDocuments/index.ctp +++ b/src/Template/TypeDocuments/index.ctp @@ -17,8 +17,6 @@
- Html->link(__(''), ['action' => 'view', $typeDocument->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - Html->link(__(''), ['action' => 'edit', $typeDocument->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/TypeSuivis/index.ctp b/src/Template/TypeSuivis/index.ctp index 049c5e0..e089024 100755 --- a/src/Template/TypeSuivis/index.ctp +++ b/src/Template/TypeSuivis/index.ctp @@ -11,9 +11,7 @@
- Html->link(__(''), ['action' => 'view', $typeSuivi->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $typeSuivi->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> diff --git a/src/Template/Users/index.ctp b/src/Template/Users/index.ctp index a09fb87..1814a43 100755 --- a/src/Template/Users/index.ctp +++ b/src/Template/Users/index.ctp @@ -1,6 +1,6 @@
- Liste des utilisateurs privilégiés'; ?> + Liste des utilisateurs privilégiés ('.$nbUsers.')'; ?> @@ -15,9 +15,7 @@ -
- Html->link(__(''), ['action' => 'view', $user->id], ['title' => 'Visualiser', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> - + Html->link(__(''), ['action' => 'edit', $user->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?> Form->postLink(__(''), ['action' => 'delete', $user->id], ['title' => 'Supprimer', 'style' => 'margin: 0 2px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $user->id)]) ?> -- libgit2 0.21.2