Loading CHANGELOG.md +4 −0 Original line number Diff line number Diff line Changelog ========= 7.3.0 ----- - Nouvelles pages de listage et visualisation des sources de données (issues de la table 'source'). 7.2.1 ----- - Extraction d'un trait ColumnValueFilterConfigFactoryTrait permettant de configurer des filtres de colonnes pour autre chose qu'un import. Loading config/module.config.php +50 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ use Doctrine\Persistence\Mapping\Driver\MappingDriverChain; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; use Laminas\ServiceManager\Factory\InvokableFactory; use UnicaenDbImport\Controller\SourceController; use UnicaenDbImport\Controller\SourceControllerFactory; use UnicaenPrivilege\Guard\PrivilegeController; use UnicaenDbImport\CodeGenerator\HelperAbstractFactory; use UnicaenDbImport\Config\Config; Loading Loading @@ -120,6 +122,12 @@ return [ 'resource' => ImportPrivilege::getResourceId(ImportPrivilege::LISTER), 'order' => 100, 'pages' => [ 'source' => [ 'label' => "Sources", 'route' => 'unicaen-db-import/source', 'resource' => ImportPrivilege::getResourceId(ImportPrivilege::LISTER), 'order' => 5, ], 'import' => [ 'label' => "Imports", 'route' => 'unicaen-db-import/import', Loading Loading @@ -185,6 +193,31 @@ return [ ], ], ], 'source' => [ 'type' => Segment::class, 'options' => [ 'route' => '/source', 'defaults' => [ 'controller' => SourceController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'voir' => [ 'type' => Segment::class, 'options' => [ 'route' => '/voir/:id', 'constraints' => [ 'id' => '[0-9]*', ], 'defaults' => [ 'action' => 'voir', ], ], ], ], ], 'import' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -389,6 +422,22 @@ return [ 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ //--------------------------- source ------------------------- [ 'controller' => SourceController::class, 'action' => [ 'index', ], 'privileges' => ImportPrivilege::LISTER, ], [ 'controller' => SourceController::class, 'action' => [ 'voir', ], 'privileges' => ImportPrivilege::CONSULTER, ], //--------------------------- import ------------------------- [ 'controller' => ImportController::class, Loading Loading @@ -570,6 +619,7 @@ return [ 'controllers' => [ 'factories' => [ ConsoleController::class => ConsoleControllerFactory::class, SourceController::class => SourceControllerFactory::class, ImportController::class => ImportControllerFactory::class, SynchroController::class => SynchroControllerFactory::class, ObservController::class => ObservControllerFactory::class, Loading src/UnicaenDbImport/Config/ConfigFactory.php +17 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class ConfigFactory $this->container = $container; $this->moduleConfig = $this->getModuleConfig(); $sourceEntityClass = $this->getSourceEntityClass(); $defaultSourceCode = $this->getDefaultSourceCode(); $importObservEntityClass = $this->getImportObservEntityClass(); $importObservResultEntityClass = $this->getImportObservResultEntityClass(); Loading @@ -59,6 +60,7 @@ class ConfigFactory $synchros = $this->createSynchros(); $config = new Config(); $config->setSourceEntityClass($sourceEntityClass); $config->setDefaultSourceCode($defaultSourceCode); $config->setImportObservEntityClass($importObservEntityClass); $config->setImportObservResultEntityClass($importObservResultEntityClass); Loading Loading @@ -90,6 +92,21 @@ class ConfigFactory return $appConfig[$key]; } /** * @return string * @throws \UnicaenDbImport\Config\ConfigException */ private function getSourceEntityClass(): string { try { Assertion::keyExists($this->moduleConfig, $key = Config::KEY_source_entity_class); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } return $this->moduleConfig[$key]; } /** * @return string * @throws \UnicaenDbImport\Config\ConfigException Loading src/UnicaenDbImport/Controller/SourceController.php 0 → 100644 +52 −0 Original line number Diff line number Diff line <?php namespace UnicaenDbImport\Controller; use Laminas\Http\PhpEnvironment\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\Mvc\Plugin\Prg\PostRedirectGet; use UnicaenDbImport\Entity\Db\Service\Source\SourceServiceAwareTrait; /** * @method FlashMessenger flashMessenger() * @method PostRedirectGet prg($redirect = null, $redirectToUrl = false) */ class SourceController extends AbstractActionController { use SourceServiceAwareTrait; /** * Listage des sources. * * @return array|\Laminas\Http\PhpEnvironment\Response */ public function indexAction() { $prg = $this->prg(null, true); if ($prg instanceof Response) { return $prg; } $sources = $this->sourceService->getRepository()->findAll(); return [ 'sources' => $sources, ]; } /** * Détails d'une source. * * @return array */ public function voirAction(): array { $id = $this->params('id'); $source = $this->sourceService->getRepository()->find($id); return [ 'source' => $source, ]; } } No newline at end of file src/UnicaenDbImport/Controller/SourceControllerFactory.php 0 → 100644 +24 −0 Original line number Diff line number Diff line <?php namespace UnicaenDbImport\Controller; use Psr\Container\ContainerInterface; use UnicaenDbImport\Entity\Db\Service\Source\SourceService; class SourceControllerFactory { /** * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container): SourceController { /** @var \UnicaenDbImport\Entity\Db\Service\Source\SourceService $sourceService */ $sourceService = $container->get(SourceService::class); $controller = new SourceController(); $controller->setSourceService($sourceService); return $controller; } } No newline at end of file Loading
CHANGELOG.md +4 −0 Original line number Diff line number Diff line Changelog ========= 7.3.0 ----- - Nouvelles pages de listage et visualisation des sources de données (issues de la table 'source'). 7.2.1 ----- - Extraction d'un trait ColumnValueFilterConfigFactoryTrait permettant de configurer des filtres de colonnes pour autre chose qu'un import. Loading
config/module.config.php +50 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ use Doctrine\Persistence\Mapping\Driver\MappingDriverChain; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; use Laminas\ServiceManager\Factory\InvokableFactory; use UnicaenDbImport\Controller\SourceController; use UnicaenDbImport\Controller\SourceControllerFactory; use UnicaenPrivilege\Guard\PrivilegeController; use UnicaenDbImport\CodeGenerator\HelperAbstractFactory; use UnicaenDbImport\Config\Config; Loading Loading @@ -120,6 +122,12 @@ return [ 'resource' => ImportPrivilege::getResourceId(ImportPrivilege::LISTER), 'order' => 100, 'pages' => [ 'source' => [ 'label' => "Sources", 'route' => 'unicaen-db-import/source', 'resource' => ImportPrivilege::getResourceId(ImportPrivilege::LISTER), 'order' => 5, ], 'import' => [ 'label' => "Imports", 'route' => 'unicaen-db-import/import', Loading Loading @@ -185,6 +193,31 @@ return [ ], ], ], 'source' => [ 'type' => Segment::class, 'options' => [ 'route' => '/source', 'defaults' => [ 'controller' => SourceController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'voir' => [ 'type' => Segment::class, 'options' => [ 'route' => '/voir/:id', 'constraints' => [ 'id' => '[0-9]*', ], 'defaults' => [ 'action' => 'voir', ], ], ], ], ], 'import' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -389,6 +422,22 @@ return [ 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ //--------------------------- source ------------------------- [ 'controller' => SourceController::class, 'action' => [ 'index', ], 'privileges' => ImportPrivilege::LISTER, ], [ 'controller' => SourceController::class, 'action' => [ 'voir', ], 'privileges' => ImportPrivilege::CONSULTER, ], //--------------------------- import ------------------------- [ 'controller' => ImportController::class, Loading Loading @@ -570,6 +619,7 @@ return [ 'controllers' => [ 'factories' => [ ConsoleController::class => ConsoleControllerFactory::class, SourceController::class => SourceControllerFactory::class, ImportController::class => ImportControllerFactory::class, SynchroController::class => SynchroControllerFactory::class, ObservController::class => ObservControllerFactory::class, Loading
src/UnicaenDbImport/Config/ConfigFactory.php +17 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class ConfigFactory $this->container = $container; $this->moduleConfig = $this->getModuleConfig(); $sourceEntityClass = $this->getSourceEntityClass(); $defaultSourceCode = $this->getDefaultSourceCode(); $importObservEntityClass = $this->getImportObservEntityClass(); $importObservResultEntityClass = $this->getImportObservResultEntityClass(); Loading @@ -59,6 +60,7 @@ class ConfigFactory $synchros = $this->createSynchros(); $config = new Config(); $config->setSourceEntityClass($sourceEntityClass); $config->setDefaultSourceCode($defaultSourceCode); $config->setImportObservEntityClass($importObservEntityClass); $config->setImportObservResultEntityClass($importObservResultEntityClass); Loading Loading @@ -90,6 +92,21 @@ class ConfigFactory return $appConfig[$key]; } /** * @return string * @throws \UnicaenDbImport\Config\ConfigException */ private function getSourceEntityClass(): string { try { Assertion::keyExists($this->moduleConfig, $key = Config::KEY_source_entity_class); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } return $this->moduleConfig[$key]; } /** * @return string * @throws \UnicaenDbImport\Config\ConfigException Loading
src/UnicaenDbImport/Controller/SourceController.php 0 → 100644 +52 −0 Original line number Diff line number Diff line <?php namespace UnicaenDbImport\Controller; use Laminas\Http\PhpEnvironment\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\Mvc\Plugin\Prg\PostRedirectGet; use UnicaenDbImport\Entity\Db\Service\Source\SourceServiceAwareTrait; /** * @method FlashMessenger flashMessenger() * @method PostRedirectGet prg($redirect = null, $redirectToUrl = false) */ class SourceController extends AbstractActionController { use SourceServiceAwareTrait; /** * Listage des sources. * * @return array|\Laminas\Http\PhpEnvironment\Response */ public function indexAction() { $prg = $this->prg(null, true); if ($prg instanceof Response) { return $prg; } $sources = $this->sourceService->getRepository()->findAll(); return [ 'sources' => $sources, ]; } /** * Détails d'une source. * * @return array */ public function voirAction(): array { $id = $this->params('id'); $source = $this->sourceService->getRepository()->find($id); return [ 'source' => $source, ]; } } No newline at end of file
src/UnicaenDbImport/Controller/SourceControllerFactory.php 0 → 100644 +24 −0 Original line number Diff line number Diff line <?php namespace UnicaenDbImport\Controller; use Psr\Container\ContainerInterface; use UnicaenDbImport\Entity\Db\Service\Source\SourceService; class SourceControllerFactory { /** * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container): SourceController { /** @var \UnicaenDbImport\Entity\Db\Service\Source\SourceService $sourceService */ $sourceService = $container->get(SourceService::class); $controller = new SourceController(); $controller->setSourceService($sourceService); return $controller; } } No newline at end of file