/** * Méthode d'ajout d'une nouvel entrée * Définie le formulaire * Vérifie les données du formulaire * Déclenche l'ajout dans le model * @return void */ public function add() { if (!$this->actions->isEnabled('add')) { Go::to404(); } $this->setTitle($this->titles->get('add')); $this->setTemplate("default", "form"); try { $form = new Form($this->formName); } catch (Exception $e) { $form = new Form($this->formName, false); $inputs = $this->model->generateInputsFromDescribe(); foreach ($inputs as $nam => $inp) { $form->setInput($nam, $inp); } } if ($form->isValid()) { if ($this->model->insert($form->getValues())) { $this->addContent("confirmation", Dictionary::term("backoffice.forms.addDone")); $this->dispatchEvent(new Event(self::EVENT_SUCCESSFUL_ADD)); } else { $this->addContent("error", Dictionary::term("backoffice.forms.errorSQL")); $this->dispatchEvent(new Event(self::EVENT_FAILED_ADD)); } $id = $this->model->getInsertId(); $form->setUploadFileName($id); } else { $this->addContent("error", $form->getError()); } $this->addForm("instance", $form); $this->addContent("h1", $this->h1->get('add')); }