Droits->authorized([ListeDroit::GESTION_MODELE])) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } // Superadmin non autorisé if (true == ($this->Droits->authorized($this->Droits->isSu()))) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } $this->ModeleExtraitRegistre->begin(); $saveFile = $this->ModeleExtraitRegistre->saveFile($this->request->data, $this->Session->read('Organisation.id')); if ($saveFile == 0) { $this->ModeleExtraitRegistre->commit(); $this->Session->setFlash(__d('modele', 'modele.flashsuccessModeleEnregistrer'), 'flashsuccess'); } elseif ($saveFile == 1) { $this->ModeleExtraitRegistre->rollback(); $this->Session->setFlash(__d('modele', 'modele.flasherrorFicherTropLourd'), 'flasherror'); } elseif ($saveFile == 2) { $this->ModeleExtraitRegistre->rollback(); $this->Session->setFlash(__d('modele', 'modele.flasherrorExtensionNonValide'), 'flasherror'); } elseif ($saveFile == 3) { $this->ModeleExtraitRegistre->rollback(); $this->Session->setFlash(__d('modele', 'modele.flashwarningAucunFichier'), 'flashwarning'); } $this->redirect($this->Referers->get()); } /** * Fonction pour téléchargé le modele de l'extrait de registre * * @param type $file * @return type * * @access public * @created 28/12/2016 * @version V1.0.0 */ public function download($file, $nameFile) { if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } $this->response->file(CHEMIN_MODELES_EXTRAIT . $file, [ 'download' => true, 'name' => $nameFile ]); return $this->response; } /** * Permet de supprimer en bdd de le model associer par qu'ontre on ne * supprime dans aucun cas le fichier enregistré * * @param type $file --> c'est le nom du model (en générale 15614325.odt) * qui est enregistré dans app/webroot/files/models */ public function delete($file) { if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } $modeles = $this->ModeleExtraitRegistre->find('all', [ 'conditions' => [ 'fichier' => $file ] ]); if ($modeles) { $isDeleted = $this->ModeleExtraitRegistre->deleteAll([ 'fichier' => $file ]); if ($isDeleted) { $this->Session->setFlash(__d('modele', 'modele.flashsuccessModeleSupprimer'), 'flashsuccess'); } else { $this->Session->setFlash(__d('modele', 'modele.flasherrorErreurSupprimerModele'), 'flasherror'); } } else { $this->Session->setFlash(__d('modele', 'modele.flasherrorModeleInexistant'), 'flasherror'); } $this->redirect($this->Referers->get()); } public function index() { if (true !== $this->Droits->authorized([ListeDroit::GESTION_MODELE])) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } // Superadmin non autorisé if ($this->Droits->isSu() == true) { throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage')); } $this->set('title', __d('modele', 'modele.titreModeleExtraitRegistre')); $modelesExtrait = $this->ModeleExtraitRegistre->find('first', [ 'conditions' => [ 'organisations_id' => $this->Session->read('Organisation.id') ] ]); foreach ($modelesExtrait as $modeleExtrait) { if (!file_exists(CHEMIN_MODELES_EXTRAIT.$modeleExtrait['fichier'])) { $this->ModeleExtraitRegistre->delete($modeleExtrait['id']); $modelesExtrait = []; } } $this->set(compact('modelesExtrait')); } }