From 34c823d7546c4d016383e848e8971e3491479ddb Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20CHAZALLET?= Date: Thu, 15 Nov 2012 13:27:02 +0100 Subject: [PATCH] =?utf8?q?Formulaire:=20=C3=A9tape=203,=20Rajout=20de=20la=20?= =?utf8?q?vue=20+traductions?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- module/Galerie/language/fr_FR.mo | Bin 1184 -> 1294 bytes module/Galerie/language/fr_FR.po | 12 +++- .../src/Galerie/Controller/IndexController.php | 59 ++++++++++++++++++-- module/Galerie/view/galerie/index/edit.phtml | 17 +++++- 4 files changed, 77 insertions(+), 11 deletions(-) diff --git a/module/Galerie/language/fr_FR.mo b/module/Galerie/language/fr_FR.mo index 79e8e23b498c1fa01869390879e41535ef5b0f79..55d9d8eb299dcc100e306909aec927ddffa8a82a 100644 GIT binary patch delta 427 zcmY+9u}i~H5Qi@@YFl+MN)f7gMR=?mwW5t}cF;RKX*^_uc*8z4tD+)nRS$=6fR{me4x7M9b&{X>2=X9YUYF4I8in zH(?6(+zs4-4^zItHR^X*hn`#ZHK6*ta7APwha_J#nbMFWPh^#b1kS??xB#zU6^^F< z81l&-iw=Ab=in36pLvE&_zHFKZ^$#np7t%GnsitR_KM3j*T-fxAu5QuWCrOlMeKJI zlUfsX<2cG}mKgbUOl-5l%0Hd@WXm~rD&bBLhOKZfzjlMaV)E!lPV=nS&rBNh&rNVz QUMUB?*q+$`X6}2#A4}&v(EtDd delta 346 zcmeCjG(zI$t0y3#7B4 zbO(@@0P>dsX)z$ZA4r4LU4x2$2GYVnJ`WQE!zUnH0Z6kmFw`>$vp_7D2GX2B1?oT= zD8XO|q=AUR5=ej?WCx_#fOG(m<^|H>Kw2G0rvhmqAl(b3f#!le0%S690Wk*4c0aggbFu9OXbaNJC0;7R}xq^|gm8qGwfuVr`SAf56P-\n" "Language-Team: \n" "Language: \n" @@ -55,5 +55,13 @@ msgstr "Éditer" msgid "Galerie_index_table_lien_del" msgstr "Supprimer" +#: /var/git/zf2biz/galerie/module/Galerie/view/galerie/index/edit.phtml:2 +msgid "Galerie_add_title" +msgstr "Ajouter une galerie" + +#: /var/git/zf2biz/galerie/module/Galerie/view/galerie/index/edit.phtml:4 +msgid "Galerie_edit_title" +msgstr "Modifier une galerie" + #~ msgid "index" #~ msgstr "Page d'accueil galerie/back-office" diff --git a/module/Galerie/src/Galerie/Controller/IndexController.php b/module/Galerie/src/Galerie/Controller/IndexController.php index 15455a3..78aa858 100644 --- a/module/Galerie/src/Galerie/Controller/IndexController.php +++ b/module/Galerie/src/Galerie/Controller/IndexController.php @@ -5,6 +5,9 @@ namespace Galerie\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; +use Galerie\Model\Galerie; +use Galerie\Form\GalerieForm; + class IndexController extends AbstractActionController { @@ -39,27 +42,71 @@ class IndexController extends AbstractActionController } public function editAction() - { + { + // Création du formulaire + $form = new GalerieForm; + // Récupération de l'objet de travail $id = $this->params()->fromRoute('id', null); - $galerie = $this->_getGalerieTable()->any($id); + if (!$id) { + $galerie = null; + } else { + $galerie = $this->_getGalerieTable()->any(array('id' => $id)); + } + + // Sommes-nous en ajout ou en édition ? + if (!$galerie) { + // Nous sommes en ajout + $form->get('submit')->setValue('Ajouter'); + // Il faut créer un nouveau objet Galerie + $galerie = new Galerie; + // Garder cette information pour la vue + $is_new = true; + } else { + // Nous sommes en modification + $form->get('submit')->setValue('Modifier'); + // Il faut préremplir le formulaire avec les données actuelles + $form->bind($galerie); + // Garder cette information pour la vue + $is_new = false; + } // Récupération de l'objet requête $request = $this->getRequest(); if ($request->isPost()) { - // Validation des données + // Mise en place pour la validation du formulaire + $form->setInputFilter($galerie->getInputFilter()); + $form->setData($request->getPost()); - if (true) {//TODO: Si les données sont valides + // Validation des données + if ($form->isValid()) { // Sauvegarde des données - // $this->_getGalerieTable()->save(?TODO?); + $galerie = $form->getData(); + if ($is_new) { + // Si l'objet n'est pas nouveau, les autres paramètres restent inchangés + // Si l'objet est nouveau, il faut renseigner l'id de l'utilisateur courant + $galerie->id_user = 1; //TODO: Mettre ici le user connecté + } + $this->_getGalerieTable()->save($galerie); // Redirection return $this->redirect()->toRoute('galerie'); } } + + // On prépare l'affichage du formulaire + if ($is_new) { + $form->setAttribute('action', $this->url()->fromRoute('galerie/add')); + } else { + $form->setAttribute('action', $this->url()->fromRoute('galerie/edit', array('id' => $id))); + } + $form->prepare(); + + // On passe la main à la vue return new ViewModel(array( 'id' => $id, - 'galerie' => $galerie, + 'form' => $form, + 'is_new' => $is_new, )); } diff --git a/module/Galerie/view/galerie/index/edit.phtml b/module/Galerie/view/galerie/index/edit.phtml index 0a1c84a..4e5f7d2 100644 --- a/module/Galerie/view/galerie/index/edit.phtml +++ b/module/Galerie/view/galerie/index/edit.phtml @@ -1,3 +1,14 @@ -

vue back-office d’une galerie : edit

-
-
+ +

translate('Galerie_add_title', 'galerie'); ?>

+ +

translate('Galerie_edit_title', 'galerie'); ?>

+ + +form()->openTag($form); +echo $this->formHidden($form->get('id')); +echo $this->formRow($form->get('name')); +echo $this->formRow($form->get('description')); +echo $this->formSubmit($form->get('submit')); +echo $this->form()->closeTag($form); +?> -- 1.7.10.4