/**
  * 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'));
 }