confLabinvent; * $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; * $action = $this->request->getAttribute('params')['action']; * * // Super-Admin peut accéder à chaque action * if($role == 'Super Administrateur') return true; * * // Administration peut ajouter, supprimer ou modifier un type de doc * if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true; * * if (in_array($action, ['view', 'index'])) { * return true; * } * * if($this->userHasRoleAtLeast('Administration Plus')) { * if($action != 'delete') return true; * } * * return false; */ return $this->isAuthorizedCommons($user); } /** * Index method * * @return \Cake\Network\Response|null */ public function index() { $typeDocuments = $this->paginate($this->TypeDocuments); $this->set(compact('typeDocuments')); $this->set('_serialize', [ 'typeDocuments' ]); } /** * View method * * @param string|null $id * Type Document id. * @return \Cake\Network\Response|null * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found. */ public function view($id = null) { $typeDocument = $this->TypeDocuments->get($id, [ 'contain' => [ 'Documents' ] ]); $this->set('typeDocument', $typeDocument); $this->set('_serialize', [ 'typeDocument' ]); } /** * Add method * * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. */ public function add() { $typeDocument = $this->TypeDocuments->newEntity(); if ($this->request->is('post')) { $typeDocument = $this->TypeDocuments->patchEntity($typeDocument, $this->request->data); if ($this->TypeDocuments->save($typeDocument)) { $this->Flash->success(__('Le type de document a bien été ajouté.')); return $this->redirect([ 'action' => 'view', $typeDocument->id ]); } else { $this->Flash->error(__('Le type de document n\'a pas pu être ajouté.')); } } $this->set(compact('typeDocument')); $this->set('_serialize', [ 'typeDocument' ]); } /** * Edit method * * @param string|null $id * Type Document 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) { $typeDocument = $this->TypeDocuments->get($id, [ 'contain' => [] ]); if ($this->request->is([ 'patch', 'post', 'put' ])) { $typeDocument = $this->TypeDocuments->patchEntity($typeDocument, $this->request->data); if ($this->TypeDocuments->save($typeDocument)) { $this->Flash->success(__('Le type de document a bien été edité.')); return $this->redirect([ 'action' => 'view', $id ]); } else { $this->Flash->error(__('Le type de document n\'a pas pu être edité.')); } } $this->set(compact('typeDocument')); $this->set('_serialize', [ 'typeDocument' ]); } /** * Delete method * * @param string|null $id * Type Document id. * @return \Cake\Network\Response|null Redirects to index. * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found. */ public function delete($id = null) { $this->request->allowMethod([ 'post', 'delete' ]); $typeDocument = $this->TypeDocuments->get($id); if ($this->TypeDocuments->delete($typeDocument)) { $this->Flash->success(__('Le type de document a bien été supprimé.')); } else { $this->Flash->error(__('Le type de document n\'a pas pu être supprimé.')); } return $this->redirect([ 'action' => 'index' ]); } }