confLabinvent->nom_groupe_metier ? $this->confLabinvent->nom_groupe_metier : 'groupes métiers' ); } /** * Give authorization for groupes metiers * * @param * $user * @return boolean */ /* //public function isAuthorized($user) public function isAuthorized($user, $action = null, $id=null, $role=null, $userCname=null) { // $action = $this->request->getAttribute('params')['action']; // $configuration = $this->confLabinvent; // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; $action = $this->getActionPassed(); $role = $this->getUserRole($user); /* * // TOUS * if (in_array($action, ['view', 'index'])) { * return true; * } */ // Super-Admin peut accéder à chaque action // if ($role == 'Super Administrateur') return true; /* * // AdministrationPlus peut tout faire sauf delete * if ($this->userHasRole('Administration Plus')) { * if ($action != 'delete') return true; * } S/ /* * // Action add, ... seulement pour Admin et + * //if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true; * if( in_array($action,['add','delete','edit'])) { * //if ($role == 'Administration') return true; * if ($this->USER_IS_ADMIN_AT_LEAST()) return true; * // Les autres n'y ont pas accès * return false; * } S/ // Par défaut // return false; // return parent::isAuthorized($user); return $this->isAuthorizedCommons($user); } */ /** * Index method * * @return \Cake\Network\Response|null */ public function index() { $this->index_groups( 'metier', 'métier', "https://www.irap.omp.eu/homepage/organisation/groupes-metiers" ); /* //$groupesMetiers = $this->paginate($this->GroupesMetiers); $groups = $this->paginate($this->GroupesMetiers); $group_type1 = 'metier'; $group_type2 = 'métier'; // Si on est sur l'instance de l'IRAP (InventIrap) // on affiche l'url vers la page des Groupes métiers sur le site web de l'IRAP $lab_website_url = ($this->confLabinvent->labNameShort != 'IRAP') ? null : "https://www.irap.omp.eu/homepage/organisation/groupes-metiers"; //$this->set(compact('groupesMetiers', 'lab_website_url')); $this->set(compact('group_type1', 'group_type2', 'lab_website_url', 'groups')); /S Utile seulement pour JSON $this->set('_serialize', [ 'groupesMetiers' ]); S/ */ } /** * View method * * @param string|null $id * Groupes Metier id. * @return \Cake\Network\Response|null * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found. */ public function view($id = null) { return $this->view_generic($id, [ //'Projets', 'Users', 'Suivis', 'Materiels', ]); /* $groupesMetier = $this->GroupesMetiers->get($id, [ 'contain' => [ 'Materiels', 'Users' ] ]); $materiels = TableRegistry::get('Materiels')->find('all')->where([ 'groupes_metier_id =' => $id ]); $this->set('materiels', $materiels); $utilisateurs = TableRegistry::get('Users')->find('all')->where([ 'groupes_metier_id =' => $id ]); $this->set('utilisateurs', $utilisateurs); $suivis = TableRegistry::get('Suivis')->find('all')->where([ 'groupes_metier_id =' => $id ]); $this->set('suivis', $suivis); $this->set('groupesMetier', $groupesMetier); $this->set('_serialize', [ 'groupesMetier' ]); */ } /** * Add method * * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. */ public function add() { $groupesMetier = $this->GroupesMetiers->newEntity(); if ($this->request->is('post')) { $groupesMetier = $this->GroupesMetiers->patchEntity($groupesMetier, $this->request->getData()); if ($this->GroupesMetiers->save($groupesMetier)) { $this->Flash->success(__("L'entité a bien été ajoutée")); return $this->redirect([ 'action' => 'view', $groupesMetier->id ]); } else { $this->Flash->error(__("L'entité n'a pas pu être ajoutée")); } } $this->set(compact('groupesMetier')); /* (EP) inutile, seulement pour json $this->set('_serialize', [ 'groupesMetier' ]); */ } /** * Edit method * * @param string|null $id * Groupes Metier id. * @return \Cake\Network\Response|void Redirects on successful edit, renders view otherwise. * @throws \Cake\Network\Exception\NotFoundException When record not found. */ public function edit($id = null) { $groupesMetier = $this->GroupesMetiers->get($id, [ 'contain' => [] ]); if ($this->request->is([ 'patch', 'post', 'put' ])) { $groupesMetier = $this->GroupesMetiers->patchEntity($groupesMetier, $this->request->getData()); if ($this->GroupesMetiers->save($groupesMetier)) { $this->Flash->success(__('Le groupe métier a bien été édité.')); return $this->redirect([ 'action' => 'view', $id ]); } else { $this->Flash->error(__('Le groupe métier n\'a pas pu être édité.')); } } $this->set(compact('groupesMetier')); $this->set('_serialize', [ 'groupesMetier' ]); } /** * Delete method * * @param string|null $id * Groupes Metier id. * @return \Cake\Network\Response|null Redirects to index. * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found. */ public function delete($id = null) { $this->delete_generic($id); /* $this->request->allowMethod([ 'post', 'delete' ]); $groupesMetier = $this->GroupesMetiers->get($id); if ($this->GroupesMetiers->delete($groupesMetier)) { $this->Flash->success(__('Le groupe métier a bien été supprimé.')); } else { $this->Flash->error(__('Le groupe métier n\'a pas pu être supprimé.')); } return $this->redirect([ 'action' => 'index' ]); */ } }