myDebug("step 2A (specific): FournisseursController.isAuthorized(user)"); $this->myDebug("user is:", $user); //$this->myDebug($user); // $configuration = $this->confLabinvent; // $action = $this->request->getAttribute('params')['action']; // $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; $action = $this->getActionPassed(); $role = $this->getUserRole($user); // TOUS /S * if (in_array($action, ['view', 'index'])) { * return true; * } S/ // Super-Admin peut accéder à chaque action // if($role == 'Super Administrateur') return true; /S * // Administration + peut ajouter, supprimer ou modifier * if( in_array($action,['add'])) { * return true; * } S/ // Tout le monde peut tout faire sur les fournisseurs //if( in_array($action,['add', 'edit', 'delete'])) { if ( in_array( $action, // C, R, U, D autorisé [ 'add', 'view', 'edit', 'delete'] ) ) return true; // Administration peut ajouter, supprimer ou modifier un fournisseur // if($role == 'Administration' && in_array($action,['add','delete','edit'])) return true; // Par défaut // return false; // return parent::isAuthorized($user); return $this->isAuthorizedCommons($user); } */ /** * Index method * * @return \Cake\Network\Response|null */ public function index() { $fournisseurs = $this->paginate($this->Fournisseurs); $this->set(compact('fournisseurs')); $this->set('_serialize', [ 'fournisseurs' ]); } /** * View method * * @param string|null $id * Fournisseurs 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, [ 'Materiels', ]); /* $fournisseur = $this->Fournisseurs->get($id); $materiels = TableRegistry::get('Materiels')->find('all')->where([ 'fournisseur_id =' => $id ]); $this->set('materiels', $materiels); $this->set('fournisseur', $fournisseur); $this->set('_serialize', [ 'fournisseur' ]); */ } /** * Add method * * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. */ public function add() { $fournisseur = $this->Fournisseurs->newEntity(); if ($this->request->is('post')) { $fournisseur = $this->Fournisseurs->patchEntity($fournisseur, $this->request->getData()); if ($this->Fournisseurs->save($fournisseur)) { $this->Flash->success(__('Le fournisseur a bien été ajouté.')); return $this->redirect([ 'action' => 'index' ]); } else { $this->Flash->error(__('Le fournisseur n\'a pas pu être ajouté.')); } } $this->set(compact('fournisseur')); $this->set('_serialize', [ 'fournisseur' ]); } /** * Edit method * * @param string|null $id * fournisseur 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) { $fournisseur = $this->Fournisseurs->get($id); if ($this->request->is(['patch','post','put'])) { $fournisseur = $this->Fournisseurs->patchEntity($fournisseur, $this->request->getData()); if ($this->Fournisseurs->save($fournisseur)) { $this->Flash->success(__('Le fournisseur a bien été édité.')); return $this->redirect([ 'action' => 'view', $id ]); } else { $this->Flash->error(__('Le fournisseur n\'a pas pu être édité.')); } } $this->set(compact('fournisseur')); $this->set('_serialize', [ 'fournisseur' ]); } /** * Delete method * * @param string|null $id * fournisseur 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' ]); $fournisseur = $this->Fournisseurs->get($id); if ($this->Fournisseurs->delete($fournisseur)) { $this->Flash->success(__('Le fournisseur a bien été supprimé.')); } else { $this->Flash->error(__('Le fournisseur n\'a pas pu être supprimé.')); } return $this->redirect([ 'action' => 'index' ]); } }