<?php use Cake\ORM\TableRegistry; // Variables passées à cet élément $pluralHumanName = $pluralHumanName; $singularHumanName = $singularHumanName; // ... ?> <h3 style="margin-top: 20px;"><?php echo $pluralHumanName;?></h3> <ul> <?php /** * menu_view.ctp * Lower left menu bar definition * Buttons definition and action : "retour a la liste" + "Edit" + "Suppr." * Used with dom, categorie,sscat, emprunt, suivi, utilisateur */ $t = strtolower($singularHumanName); $t = str_replace('groupes', 'groupe', $t); $t = str_replace('thematique', 'thémat.', $t); $t = str_replace('metier', 'métier', $t); $t = str_replace('categorie', 'catégorie', $t); $t = str_replace('unite', 'unité', $t); ?> <!-- RETOUR action --> <li> <?php if ($this->request->getSession()->read("retourForm1")) { echo $this->Html->link('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-2)', [ 'escape' => false ]); } else { echo $this->Html->link('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-1)', [ 'escape' => false ]); } ?> </li> <!-- EDIT action --> <li><?php $isAuthorized = false; if ($singularHumanName == 'Matériel') { if (in_array($materiel->status, [ 'CREATED', 'VALIDATED' ])) { if ((($role == 'Utilisateur' || $role == 'Responsable') && (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($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) { $isAuthorized = true; } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupes_thematique_id) { $isAuthorized = true; } else { $isAuthorized = false; } } } else { if (in_array($role, [ 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } } } else if (in_array($singularHumanName, [ 'Suivi', 'Emprunt' ])) { if (in_array($role, [ 'Administration', 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } else { if ($singularHumanName == 'Suivi') { if (in_array($username, [ $suivi->nom_createur ])) { $isAuthorized = true; } else if ($role == 'Responsable') { if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) { $isAuthorized = true; } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupes_thematique_id) { $isAuthorized = true; } else { $isAuthorized = false; } } } else { if (in_array($username, [ $emprunt->nom_createur, $emprunt->nom_emprunteur ])) { $isAuthorized = true; } else if ($role == 'Responsable') { $isAuthorized = true; } } } } else if ($singularHumanName == 'Utilisateur') { if ($role == 'Super Administrateur') { $isAuthorized = true; } } else if ($singularHumanName == 'Fournisseur') { if ($role == 'Super Administrateur') { $isAuthorized = true; } else if ($role == 'Administration') { $isAuthorized = true; } } else if ($singularHumanName == 'Document') { if (in_array($role, [ 'Administration', 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } $doc = TableRegistry::get('Documents')->get((int) $this->request->getAttribute('params')['pass'][0]); $id = $doc->get('materiel_id'); if (empty($id)) { $id = $doc->get('suivi_id'); if ($role == 'Responsable') { $suiviTable = TableRegistry::get('Suivis'); if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa) { $isAuthorized = ($suiviTable->exists([ 'id' => $id, 'groupes_metier_id' => $priviledgedUser->groupes_metier_id ])); } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa) { $isAuthorized = ($suiviTable->exists([ 'id' => $id, 'groupes_thematique_id' => $priviledgedUser->groupes_thematique_id ])); } else { $isAuthorized = false; } } if ($role == 'Utilisateur') { $isAuthorized = $suiviTable->exists([ 'id' => $id, 'nom_createur' => $username ]); } } else { $materielTable = TableRegistry::get('Materiels'); if ($role == 'Responsable') { if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa) { $isAuthorized = ($materielTable->exists([ 'id' => $id, 'groupes_metier_id' => $priviledgedUser->groupes_metier_id ])); } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa) { $isAuthorized = ($materielTable->exists([ 'id' => $id, 'groupes_thematique_id' => $priviledgedUser->groupes_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 ($singularHumanName == 'Formulaire') { $isAuthorized = false; } else { if (in_array($role, [ 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } } if ($isAuthorized == true) { $action = ''; if (strstr($t, 'catégorie') || strstr($t, 'unité') || strstr($t, 'formule')) $action = ' Editer cette'; elseif (strstr($t, 'utilisateur') || strstr($t, 'emprunt')) $action = ' Editer cet'; else $action = ' Editer ce'; $action = "$action $t"; echo $this->Html->link('<i class="icon-pencil"></i>' . $action, [ 'action' => 'edit', $lien ], [ 'escape' => false, 'onclick' => 'return true;' ]); } ?> </li> <!-- DELETE action --> <li> <?php $isAuthorized = false; if ($singularHumanName == 'Matériel') { if ($materiel->status == 'CREATED') { if ((($role == 'Utilisateur' || $role == 'Responsable') && (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($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) { $isAuthorized = true; } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupes_thematique_id) { $isAuthorized = true; } else { $isAuthorized = false; } } } } else if (in_array($singularHumanName, [ 'Suivi', 'Emprunt' ])) { if (in_array($role, [ 'Administration', 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } else { if ($singularHumanName == 'Suivi') { if (in_array($username, [ $suivi->nom_createur ])) { $isAuthorized = true; } else if ($role == 'Responsable') { if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $priviledgedUser->groupes_metier_id) { $isAuthorized = true; } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $priviledgedUser->groupes_thematique_id) { $isAuthorized = true; } else { $isAuthorized = false; } } } else { if (in_array($username, [ $emprunt->nom_createur, $emprunt->nom_emprunteur ])) { $isAuthorized = true; } else if ($role == 'Responsable') { $isAuthorized = true; } } } } else if ($singularHumanName == 'Document') { if (in_array($role, [ 'Administration', 'Administration Plus', 'Super Administrateur' ])) { $isAuthorized = true; } $doc = TableRegistry::get('Documents')->get((int) $this->request->getAttribute('params')['pass'][0]); $id = $doc->get('materiel_id'); if (empty($id)) { $id = $doc->get('suivi_id'); if ($role == 'Responsable') { $suiviTable = TableRegistry::get('Suivis'); if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa) { $isAuthorized = ($suiviTable->exists([ 'id' => $id, 'groupes_metier_id' => $priviledgedUser->groupes_metier_id ])); } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa) { $isAuthorized = ($suiviTable->exists([ 'id' => $id, 'groupes_thematique_id' => $priviledgedUser->groupes_thematique_id ])); } else { $isAuthorized = false; } } if ($role == 'Utilisateur') { $isAuthorized = $suiviTable->exists([ 'id' => $id, 'nom_createur' => $username ]); } } else { $materielTable = TableRegistry::get('Materiels'); if ($role == 'Responsable') { if (isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa) { $isAuthorized = ($materielTable->exists([ 'id' => $id, 'groupes_metier_id' => $priviledgedUser->groupes_metier_id ])); } else if (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa) { $isAuthorized = ($materielTable->exists([ 'id' => $id, 'groupes_thematique_id' => $priviledgedUser->groupes_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; } } if ($isAuthorized == true) { $determinant = ''; $action = ''; if (strstr($t, 'catégorie') || strstr($t, 'unité') || strstr($t, 'formule')) { $action = ' Supprimer cette'; $determinant = 'cette'; } elseif (strstr($t, 'utilisateur') || strstr($t, 'emprunt')) { $action = ' Supprimer cet'; $determinant = 'cet'; } else { $action = ' Supprimer ce'; $determinant = 'ce'; } echo $this->Form->postLink('<i class="icon-trash"></i>' . $action . ' ' . $t, [ 'action' => 'delete', $lien ], [ 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer '.$determinant.' '. $t . ' ?') ]); } ?> </li> <li> <?php //MI Add action dans le cas des utilisateurs, et pour le superadmin //cela évite de devoir quitter la page pour repartir à la liste des utilisateurs pour faire un ajout if ($role == 'Super Administrateur' && strstr($t, 'utilisateur')) { $action = ' Ajouter un'; echo $this->Form->postLink('<i class="icon-plus"></i>' . $action . ' ' . $t, [ 'action' => 'add', $lien ], [ 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir quitter la page pour ajouter un utilisateur ?') ]); } ?> </li> </ul>