find()->where(['id =' => 1])->first(); $role = TableRegistry::get('Users')->find()->where(['username' => $user[$configuration->authentificationType_ldap][0]])->first()['role']; $action = $this->request->params['action']; if (in_array($action, ['admission', 'sortie'])) { if ($this->userHasRole('Administration')) { return true; } } return parent::isAuthorized($user); } /** * Index method * * @return \Cake\Network\Response|null */ public function index() { $documents = $this->paginate($this->Documents); $materiel = $this->Documents->Materiels; $this->set(compact('documents', 'materiel')); $this->set('_serialize', ['documents']); } /** * View method * * @param string|null $id Document id. * @return \Cake\Network\Response|null * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found. */ public function view($id = null) { $document = $this->Documents->get($id); $materiel = $this->Documents->Materiels->find()->where(['id =' => $document->materiel_id])->first(); if($materiel != null) { $this->set('materiel', $materiel); } else { $suivi = $this->Documents->Suivis->find()->where(['id =' => $document->suivi_id])->first(); $this->set('suivi', $suivi); } $this->set('document', $document); $this->set('_serialize', ['document']); } /** * Add method * * @return \Cake\Network\Response|void Redirects on successful add, renders view otherwise. */ public function add() { $document = $this->Documents->newEntity(); if ($this->request->is('post')) { $document = $this->Documents->patchEntity($document, $this->request->data); if ($this->Documents->save($document)) { $this->Flash->success(__('Le fichier a bien été ajouté.')); return $this->redirect(['action' => 'index']); } else { $this->Flash->error(__('Le fichier n\'a pas pu être ajouté.')); } } if(isset($this->passedArgs[1]) && $this->passedArgs[1] == 'mat') { $materiel = $this->Documents->Materiels->find('list', [ 'keyField' => 'id', 'valueField' => 'numero_laboratoire'])->where(['id =' => $this->passedArgs[0]]); $this->set('materiel', $materiel); } else { $suivi = $this->Documents->Suivis->find('list', [ 'keyField' => 'id', 'valueField' => 'id'])->where(['id =' => $this->passedArgs[0]]); $this->set('suivi', $suivi); } $this->set(compact('document')); $this->set('_serialize', ['document']); } /** * Edit method * * @param string|null $id 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) { $document = $this->Documents->get($id, [ 'contain' => [] ]); if ($this->request->is(['patch', 'post', 'put'])) { $document = $this->Documents->patchEntity($document, $this->request->data); if ($this->Documents->save($document)) { $this->Flash->success(__('Le fichier a bien été édité.')); return $this->redirect(['action' => 'index']); } else { $this->Flash->error(__('Le fichier n\'a pas pu être édité.')); } } $materiel = $this->Documents->Materiels->find('list', [ 'keyField' => 'id', 'valueField' => 'numero_laboratoire'])->where(['id =' => $document->materiel_id]); if($materiel->count() > 0) { $this->set('materiel', $materiel); } else { $suivi = $this->Documents->Suivis->find('list', [ 'keyField' => 'id', 'valueField' => 'id'])->where(['id =' => $document->suivi_id]); $this->set('suivi', $suivi); } $this->set(compact('document')); $this->set('_serialize', ['document']); } /** * Delete method * * @param string|null $id 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']); $document = $this->Documents->get($id); if ($this->Documents->delete($document)) { $this->Flash->success(__('Le fichier a bien été supprimé.')); } else { $this->Flash->error(__('Le fichier n\'a pas pu être supprimé.')); } return $this->redirect(['action' => 'index']); } public function sortie($labNumber) { $this->set('fpdf', new FPDF ( 'P', 'mm', 'A4' )); } public function admission($labNumber) { $this->set ( 'fpdf', new FPDF ( 'P', 'mm', 'A4' ) ); // Find the concerned materiel $materiel = TableRegistry::get('Materiels')->find('all', ['conditions' => ['numero_laboratoire' => $labNumber]])->first(); // End find // Get the administration user name $userName = $this->LdapAuth->user('username'); $numeroLab = $materiel->numero_laboratoire; $dateAcquisition = $materiel->date_acquisition; // convert to French format dd-mm-yyyy : $dateAcquisition = date ( "d-m-Y", strtotime ( $dateAcquisition ) ); $numeroCommande = $materiel->numero_commande; $designation = $materiel->designation; if(isset($materiel->organisme_id) && !empty($materiel->organisme_id)) { $organisme = TableRegistry::get('Organismes')->find('all')->where(['id =' => $materiel->organisme_id])->first()->nom; } else { $organisme = ""; } $fournisseur = $materiel->fournisseur; $numeroOrganisme = $materiel->numero_inventaire_organisme; $eotp = $materiel->eotp; $prix = $materiel->prix_ht; // Build the data array $TDoc = [ 'organisme' => $organisme, 'numlab' => $numeroLab, 'designation' => $designation, 'dateAcquis' => $dateAcquisition, 'numCde' => $numeroCommande, 'fournisseur' => $fournisseur, 'eotp' => $eotp, 'prix' => $prix, 'numOrg' => $numeroOrganisme ]; // set the data for the document (accessible par $data dans le document) $this->set ( 'data', $TDoc ); } // End fct admission }