From e781c45dcdeb71a4882056b577b63e2b534595a7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20CHAZALLET?= Date: Sat, 1 Dec 2012 10:03:35 +0100 Subject: [PATCH] Rajout d'une paire + correction ajout --- module/Galerie/Module.php | 7 +++++++ .../src/Galerie/Controller/IndexController.php | 21 ++++++++++++++++++-- .../Galerie/src/Galerie/Model/GalerieInfoTable.php | 3 ++- module/Galerie/src/Galerie/Model/GalerieTable.php | 4 ++-- module/Galerie/view/galerie/index/edit.phtml | 1 - module/Galerie/view/galerie/index/view.phtml | 9 +++++++++ vendor/zf2biz/Custom/Model/EntityManager.php | 3 ++- 7 files changed, 41 insertions(+), 7 deletions(-) diff --git a/module/Galerie/Module.php b/module/Galerie/Module.php index d75f4f3..a151295 100644 --- a/module/Galerie/Module.php +++ b/module/Galerie/Module.php @@ -19,6 +19,7 @@ use Galerie\Export\GalerieWorkbook; use Galerie\Mail\MailSender; use Custom\View\Helper\Format; +use Custom\Model\PairManager; class Module implements @@ -83,6 +84,12 @@ class Module implements $result::initialize($config['mail']); return $result; }, + 'Galerie\Model\GaleriePairTable' => function($sm) { + return new PairManager( + $sm->get('Zend\Db\Adapter\Adapter'), + 'gallery' + ); + }, ), ); } diff --git a/module/Galerie/src/Galerie/Controller/IndexController.php b/module/Galerie/src/Galerie/Controller/IndexController.php index d814b1a..7bba533 100644 --- a/module/Galerie/src/Galerie/Controller/IndexController.php +++ b/module/Galerie/src/Galerie/Controller/IndexController.php @@ -22,6 +22,7 @@ class IndexController extends AbstractActionController private $_galerieInfoExporter; private $_galerieMailSender; private $_viewResolver; + private $_galeriePairTable; private $_translator; @@ -89,6 +90,15 @@ class IndexController extends AbstractActionController return $this->_viewResolver; } + private function _getGaleriePairTable() + { + if (!$this->_galeriePairTable) { + $sm = $this->getServiceLocator(); + $this->_galeriePairTable = $sm->get('Galerie\Model\GaleriePairTable'); + } + return $this->_galeriePairTable; + } + @@ -263,12 +273,14 @@ class IndexController extends AbstractActionController } 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; } + + // Il faut préremplir le formulaire avec les données actuelles + $form->bind($galerie); + // Récupération de l'objet requête $request = $this->getRequest(); if ($request->isPost()) { @@ -331,9 +343,14 @@ class IndexController extends AbstractActionController { $id = $this->params()->fromRoute('id', null); $galerie = $this->_getGalerieInfoTable()->any($id); + + $pairs = $this->_getGaleriePairTable()->all(); + unset($pairs[$id]); + return new ViewModel(array( 'id' => $id, 'galerie' => $galerie, + 'pairs' => $pairs, )); } diff --git a/module/Galerie/src/Galerie/Model/GalerieInfoTable.php b/module/Galerie/src/Galerie/Model/GalerieInfoTable.php index 939f8b3..f21ec97 100644 --- a/module/Galerie/src/Galerie/Model/GalerieInfoTable.php +++ b/module/Galerie/src/Galerie/Model/GalerieInfoTable.php @@ -6,6 +6,7 @@ use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\TableGatewayInterface; use Zend\Db\Sql\Sql; use Zend\Db\Sql\Where; +use Zend\Db\Sql\Select; use Custom\Model\Entity; @@ -50,7 +51,7 @@ class GalerieInfoTable implements TableGatewayInterface )) ->join('photo', 'gallery.id = photo.id_gallery', array( 'nb' => new \Zend\Db\Sql\Expression('count(photo.id)') - )) + ), Select::JOIN_LEFT) ->group(array( 'user.lastname', 'user.firstname', diff --git a/module/Galerie/src/Galerie/Model/GalerieTable.php b/module/Galerie/src/Galerie/Model/GalerieTable.php index 62ffc62..0ec6159 100644 --- a/module/Galerie/src/Galerie/Model/GalerieTable.php +++ b/module/Galerie/src/Galerie/Model/GalerieTable.php @@ -2,10 +2,10 @@ namespace Galerie\Model; use Zend\Db\Adapter\Adapter; -use Custom\Model\Manager; +use Custom\Model\EntityManager; use Custom\Model\Entity; -class GalerieTable extends Manager +class GalerieTable extends EntityManager { public $table = 'gallery'; diff --git a/module/Galerie/view/galerie/index/edit.phtml b/module/Galerie/view/galerie/index/edit.phtml index f8fba2e..8c6c5a2 100644 --- a/module/Galerie/view/galerie/index/edit.phtml +++ b/module/Galerie/view/galerie/index/edit.phtml @@ -5,7 +5,6 @@ form()->openTag($form); ?> -formRow($form->get('id')); ?>
formLabel($form->get('name')); ?> diff --git a/module/Galerie/view/galerie/index/view.phtml b/module/Galerie/view/galerie/index/view.phtml index 7b09f0c..4751d23 100644 --- a/module/Galerie/view/galerie/index/view.phtml +++ b/module/Galerie/view/galerie/index/view.phtml @@ -5,3 +5,12 @@

Description : description; ?>

Propriétaire : username; ?>

Nombre de photographies : nb; ?>

+ +

Navigation

+

Accès direct aux autres galeries

+
    + $name): ?> +
  • + +
+ diff --git a/vendor/zf2biz/Custom/Model/EntityManager.php b/vendor/zf2biz/Custom/Model/EntityManager.php index 62fc9e9..8566ce2 100644 --- a/vendor/zf2biz/Custom/Model/EntityManager.php +++ b/vendor/zf2biz/Custom/Model/EntityManager.php @@ -98,9 +98,10 @@ abstract class EntityManager extends AbstractTableGateway $entity->toUpdatableArray(), $entity->toPrimaryArray() ); + die("update"); } else { $keys = array(); - foreach($primary_array as $k => $v) { + foreach($this->extract_primary($entity) as $k => $v) { $keys[] = "{$k}: {$v}"; } $keys = implode(', ', $keys); -- 1.7.10.4