From c5d0ab89a84c0c3fc9ab6aeffe650472d452e4b9 Mon Sep 17 00:00:00 2001 From: Alexandre Zvenigorosky Date: Wed, 28 Feb 2018 14:17:01 +0100 Subject: [PATCH 1/6] modified: module/Application/config/modulateur.config.php modified: module/Application/src/Application/Controller/ModulateurController.php modified: module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml modified: module/Application/src/Application/Entity/Db/TypeModulateurStructure.php modified: module/Application/view/application/modulateur/index.phtml --- composer.lock | 8 +-- config/autoload/application.global.php | 28 +++++--- config/autoload/unicaen-app.global.php | 56 ++++++++------- config/autoload/unicaen-auth.global.php | 14 ++-- .../Application/config/modulateur.config.php | 33 ++++++++- .../Controller/ModulateurController.php | 43 ++++++++++- ....Entity.Db.TypeModulateurStructure.dcm.xml | 7 ++ .../Entity/Db/TypeModulateurStructure.php | 55 ++++++++++++++ .../Application/Service/ModulateurService.php | 2 + .../view/application/modulateur/index.phtml | 72 ++++++++++++++----- 10 files changed, 249 insertions(+), 69 deletions(-) diff --git a/composer.lock b/composer.lock index 1eb60052f..41f5c9445 100644 --- a/composer.lock +++ b/composer.lock @@ -1559,7 +1559,7 @@ "source": { "type": "git", "url": "https://git.unicaen.fr/lib/unicaen/import.git", - "reference": "fd5125db9525b121b5a950e9e12721a9ab6027f4" + "reference": "ec1e41a0f10538308fda52910b8ef9b714bbeb12" }, "require": { "unicaen/auth": "^1.2 || dev-master", @@ -1579,7 +1579,7 @@ ] }, "description": "Module d'import de données vers une base Oracle", - "time": "2018-02-27T08:40:13+00:00" + "time": "2018-02-27T14:35:23+00:00" }, { "name": "unicaen/oracle", @@ -1615,7 +1615,7 @@ "source": { "type": "git", "url": "https://git.unicaen.fr/lib/unicaen/tbl.git", - "reference": "adec2e86fbfc92236dc5f0eafcafa073070520c3" + "reference": "eebc66e459c0d1ae651601e2dd52738e60f19dbd" }, "require": { "unicaen/app": "^1.3 || dev-trunk" @@ -1634,7 +1634,7 @@ ] }, "description": "Module Unicaen de gestion de tableaux de bord Oracle", - "time": "2018-02-27T09:35:50+00:00" + "time": "2018-02-27T14:28:39+00:00" }, { "name": "zendframework/zend-authentication", diff --git a/config/autoload/application.global.php b/config/autoload/application.global.php index 3ccca9008..70e37522f 100644 --- a/config/autoload/application.global.php +++ b/config/autoload/application.global.php @@ -1,15 +1,23 @@ [ 'connection' => [ 'orm_default' => [ 'params' => [ - 'host' => AppConfig::get('bdd','host'), - 'port' => AppConfig::get('bdd','port'), - 'dbname' => AppConfig::get('bdd','dbname'), - 'user' => AppConfig::get('bdd','username'), - 'password' => AppConfig::get('bdd','password'), + 'host' => $localConfig['bdd']['host'], + 'port' => $localConfig['bdd']['port'], + 'dbname' => $localConfig['bdd']['dbname'], + 'user' => $localConfig['bdd']['username'], + 'password' => $localConfig['bdd']['password'], 'charset' => 'AL32UTF8', ], ], @@ -20,18 +28,18 @@ return [ // 'query_cache' => 'array', 'result_cache' => 'array', 'hydration_cache' => 'array', - 'generate_proxies' => AppConfig::get('bdd','generateProxies'), + 'generate_proxies' => $localConfig['bdd']['generateProxies'], 'proxy_dir' => 'data/cache/DoctrineProxy', ], ], ], 'view_manager' => [ - 'display_not_found_reason' => AppConfig::get('global','affichageErreurs'), - 'display_exceptions' => AppConfig::get('global','affichageErreurs'), + 'display_not_found_reason' => $localConfig['global']['affichageErreurs'], + 'display_exceptions' => $localConfig['global']['affichageErreurs'], ], 'cli_config' => [ - 'scheme' => AppConfig::get('global','scheme'), - 'domain' => AppConfig::get('global','domain'), + 'scheme' => $localConfig['global']['scheme'], + 'domain' => $localConfig['global']['domain'], ], ]; \ No newline at end of file diff --git a/config/autoload/unicaen-app.global.php b/config/autoload/unicaen-app.global.php index d9e563ac8..5b1834b88 100644 --- a/config/autoload/unicaen-app.global.php +++ b/config/autoload/unicaen-app.global.php @@ -1,5 +1,7 @@ [ @@ -9,11 +11,11 @@ return [ 'app_infos' => [ 'nom' => "OSE", 'desc' => "Organisation des Services d'Enseignement", - 'version' => "6.2", - 'date' => "22/02/2018", - 'contact' => ['mail' => AppConfig::get('liens','contactAssistance')], - 'mentionsLegales' => AppConfig::get('liens','mentionsLegales'), - 'informatiqueEtLibertes' => AppConfig::get('liens','informatiqueEtLibertes'), + 'version' => "6.1", + 'date' => "20/12/2017", + 'contact' => ['mail' => $localConfig['liens']['contactAssistance']], + 'mentionsLegales' => $localConfig['liens']['mentionsLegales'], + 'informatiqueEtLibertes' => $localConfig['liens']['informatiqueEtLibertes'], ], /** @@ -25,33 +27,33 @@ return [ 'connection' => [ 'default' => [ 'params' => [ - 'host' => AppConfig::get('ldap','host'), - 'username' => AppConfig::get('ldap','username'), - 'password' => AppConfig::get('ldap','password'), - 'baseDn' => AppConfig::get('ldap','baseDn'), - 'bindRequiresDn' => AppConfig::get('ldap','bindRequiresDn'), - 'accountFilterFormat' => "(&(objectClass=posixAccount)(" . AppConfig::get('ldap','loginAttribute') . "=%s))", - 'port' => AppConfig::get('ldap','port'), + 'host' => $localConfig['ldap']['host'], + 'username' => $localConfig['ldap']['username'], + 'password' => $localConfig['ldap']['password'], + 'baseDn' => $localConfig['ldap']['baseDn'], + 'bindRequiresDn' => $localConfig['ldap']['bindRequiresDn'], + 'accountFilterFormat' => "(&(objectClass=posixAccount)(" . $localConfig['ldap']['loginAttribute'] . "=%s))", + 'port' => $localConfig['ldap']['port'], ], ], ], 'dn' => [ - 'UTILISATEURS_BASE_DN' => AppConfig::get('ldap','utilisateursBaseDN'), - 'UTILISATEURS_DESACTIVES_BASE_DN' => AppConfig::get('ldap','utilisateursDesactivesBaseDN'), - 'GROUPS_BASE_DN' => AppConfig::get('ldap','groupsBaseDN'), - 'STRUCTURES_BASE_DN' => AppConfig::get('ldap','structuresBaseDN'), + 'UTILISATEURS_BASE_DN' => $localConfig['ldap']['utilisateursBaseDN'], + 'UTILISATEURS_DESACTIVES_BASE_DN' => $localConfig['ldap']['utilisateursDesactivesBaseDN'], + 'GROUPS_BASE_DN' => $localConfig['ldap']['groupsBaseDN'], + 'STRUCTURES_BASE_DN' => $localConfig['ldap']['structuresBaseDN'], ], 'filters' => [ - 'LOGIN_FILTER' => '(' . AppConfig::get('ldap','loginAttribute') . '=%s)', - 'LOGIN_OR_NAME_FILTER' => '(|(' . AppConfig::get('ldap','loginAttribute') . '=%s)(cn=%s*))', + 'LOGIN_FILTER' => '(' . $localConfig['ldap']['loginAttribute'] . '=%s)', + 'LOGIN_OR_NAME_FILTER' => '(|(' . $localConfig['ldap']['loginAttribute'] . '=%s)(cn=%s*))', 'FILTER_STRUCTURE_DN' => '(%s)', - 'FILTER_STRUCTURE_CODE_ENTITE' => '(' . AppConfig::get('ldap','structureCode') . '=%s)', - 'NO_INDIVIDU_FILTER' => '(' . AppConfig::get('ldap','utilisateurCode') . '=%08s)', + 'FILTER_STRUCTURE_CODE_ENTITE' => '(' . $localConfig['ldap']['structureCode'] . '=%s)', + 'NO_INDIVIDU_FILTER' => '(' . $localConfig['ldap']['utilisateurCode'] . '=%08s)', ], 'utilisateur' => [ - 'LOGIN' => AppConfig::get('ldap','loginAttribute'), - 'FILTER' => AppConfig::get('ldap','utilisateurFiltre'), - 'CODE' => AppConfig::get('ldap','utilisateurCode'), + 'LOGIN' => $localConfig['ldap']['loginAttribute'], + 'FILTER' => $localConfig['ldap']['utilisateurFiltre'], + 'CODE' => $localConfig['ldap']['utilisateurCode'], ], ], @@ -61,13 +63,13 @@ return [ 'mail' => [ // transport des mails 'transport_options' => [ - 'host' => AppConfig::get('mail','smtpHost'), - 'port' => AppConfig::get('mail','smtpPort'), + 'host' => $localConfig['mail']['smtpHost'], + 'port' => $localConfig['mail']['smtpPort'], ], // adresses à substituer à celles des destinataires originaux ('CURRENT_USER' équivaut à l'utilisateur connecté) - 'redirect_to' => AppConfig::get('mail','redirection'), + 'redirect_to' => $localConfig['mail']['redirection'], // désactivation totale de l'envoi de mail par l'application - 'do_not_send' => AppConfig::get('mail','envoiDesactive'), + 'do_not_send' => $localConfig['mail']['envoiDesactive'], ], ], ]; \ No newline at end of file diff --git a/config/autoload/unicaen-auth.global.php b/config/autoload/unicaen-auth.global.php index 26c3e1d51..3ae1ecd6c 100644 --- a/config/autoload/unicaen-auth.global.php +++ b/config/autoload/unicaen-auth.global.php @@ -1,5 +1,7 @@ AppConfig::get('cas', 'host'), - 'port' => AppConfig::get('cas', 'port'), - 'version' => AppConfig::get('cas', 'version'), - 'uri' => AppConfig::get('cas', 'uri'), - 'debug' => AppConfig::get('cas', 'debug'), + 'hostname' => $localConfig['cas']['host'], + 'port' => $localConfig['cas']['port'], + 'version' => $localConfig['cas']['version'], + 'uri' => $localConfig['cas']['uri'], + 'debug' => $localConfig['cas']['debug'], ]; } diff --git a/module/Application/config/modulateur.config.php b/module/Application/config/modulateur.config.php index 05d60c931..37930e44e 100644 --- a/module/Application/config/modulateur.config.php +++ b/module/Application/config/modulateur.config.php @@ -73,6 +73,33 @@ return [ ], 'may_terminate' => true, ], + 'type-modulateur-structure-saisie' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/type-modulateur-structure-saisie/:typeModulateur[/:typeModulateurStructure]', + 'constraints' => [ + 'typeModulateur' => '[0-9]*', + 'typeModulateurStructure' => '[0-9]*', + ], + 'defaults' => [ + 'action' => 'type-modulateur-structure-saisie', + ], + ], + 'may_terminate' => true, + ], + 'type-modulateur-structure-delete' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/type-modulateur-structure-delete/:typeModulateurStructure', + 'constraints' => [ + 'typeModulateurStructure' => '[0-9]*', + ], + 'defaults' => [ + 'action' => 'type-modulateur-structure-delete', + ], + ], + 'may_terminate' => true, + ], ], ], ], @@ -84,7 +111,8 @@ return [ 'administration' => [ 'pages' => [ 'modulateur' => [ - 'label' => 'Modulateurs des taux horaires', + 'label' => 'Modulateur', + 'title' => 'Modulateurs', 'icon' => 'fa fa-tachometer', 'route' => 'modulateur', 'resource' => PrivilegeController::getResourceId('Application\Controller\Modulateur', 'index'), @@ -106,7 +134,7 @@ return [ ], [ 'controller' => 'Application\Controller\Modulateur', - 'action' => ['saisie', 'delete', 'type-modulateur-saisie', 'type-modulateur-delete'], + 'action' => ['saisie', 'delete', 'type-modulateur-saisie', 'type-modulateur-delete','type-modulateur-structure-saisie','type-modulateur-structure-delete'], 'privileges' => [Privileges::MODULATEUR_EDITION], ], ], @@ -143,6 +171,7 @@ return [ 'invokables' => [ Form\Modulateur\ModulateurSaisieForm::class => Form\Modulateur\ModulateurSaisieForm::class, Form\Modulateur\TypeModulateurSaisieForm::class => Form\Modulateur\TypeModulateurSaisieForm::class, + Form\Modulateur\TypeModulateurStructureSaisieForm::class => Form\Modulateur\TypeModulateurStructureSaisieForm::class, ], ], ]; diff --git a/module/Application/src/Application/Controller/ModulateurController.php b/module/Application/src/Application/Controller/ModulateurController.php index 116b6d25f..24528394d 100755 --- a/module/Application/src/Application/Controller/ModulateurController.php +++ b/module/Application/src/Application/Controller/ModulateurController.php @@ -1,8 +1,8 @@ getEvent()->getParam('typeModulateur'); + $typeModulateurStructure = $this->getEvent()->getParam('typeModulateurStructure'); + + $form = $this->getFormTypeModulateurStructureSaisie(); + if (empty($typeModulateurStructure)) { + $title = 'Création d\'un nouveau Type de Modulateur'; + $typeModulateurStructure = $this->getServiceTypeModulateurStructure()->newEntity(); + $typeModulateurStructure->setTypeModulateur($typeModulateur); + } else { + $title = 'Édition d\'une structure d\'un Type de Modulateur'; + } + + $form->bindRequestSave($typeModulateurStructure, $this->getRequest(), function (TypeModulateurStructure $tms) { + try { + $this->getServiceTypeModulateurStructure()->save($tms); + $this->flashMessenger()->addSuccessMessage('Enregistrement effectué'); + } catch (\Exception $e) { + $e = DbException::translate($e); + $this->flashMessenger()->addErrorMessage($e->getMessage() . ':' . $tms->getId()); + } + }); + + return compact('form', 'title'); + } + public function typeModulateurStructureDeleteAction(){ + $typeModulateurStructure = $this->getEvent()->getParam('typeModulateurStructure'); + try { + $this->getServiceTypeModulateurStructure()->delete($typeModulateurStructure); + $this->flashMessenger()->addSuccessMessage("Structure supprimée avec succès pour ce type de modulateur."); + } catch (\Exception $e) { + $this->flashMessenger()->addErrorMessage(DbException::translate($e)->getMessage()); + } + return new MessengerViewModel(compact('typeModulateurStructure')); + } public function typeModulateurDeleteAction() { diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml index 518fc5bd6..744a9079d 100644 --- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml @@ -13,10 +13,17 @@ + + + + + + + diff --git a/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php b/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php index e36a9c823..6fe2686f9 100644 --- a/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php +++ b/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php @@ -26,6 +26,15 @@ class TypeModulateurStructure implements HistoriqueAwareInterface */ protected $structure; + /** + * @var Annee + */ + private $anneeDebut; + + /** + * @var Annee + */ + private $anneeFin; /** @@ -93,4 +102,50 @@ class TypeModulateurStructure implements HistoriqueAwareInterface { return $this->structure; } + + /** + * @return Annee + */ + public function getAnneeDebut() + { + return $this->anneeDebut; + } + + + + /** + * @param Annee $anneeDebut + * + * @return TypePieceJointeStatut + */ + public function setAnneeDebut(Annee $anneeDebut = null) + { + $this->anneeDebut = $anneeDebut; + + return $this; + } + + + + /** + * @return Annee + */ + public function getAnneeFin() + { + return $this->anneeFin; + } + + + + /** + * @param Annee $anneeFin + * + * @return * TypePieceJointeStatut + */ + public function setAnneeFin(Annee $anneeFin = null) + { + $this->anneeFin = $anneeFin; + + return $this; + } } diff --git a/module/Application/src/Application/Service/ModulateurService.php b/module/Application/src/Application/Service/ModulateurService.php index 7b0db1113..58d724bf1 100644 --- a/module/Application/src/Application/Service/ModulateurService.php +++ b/module/Application/src/Application/Service/ModulateurService.php @@ -4,6 +4,7 @@ namespace Application\Service; use Application\Entity\Db\Modulateur; use Application\Entity\Db\ElementPedagogique; +use Application\Entity\Db\TypeModulateurStructure; use Application\Service\Traits\ElementModulateurServiceAwareTrait; use Application\Service\Traits\ElementPedagogiqueServiceAwareTrait; use Doctrine\ORM\QueryBuilder; @@ -102,4 +103,5 @@ class ModulateurService extends AbstractEntityService return $this->all; } + } \ No newline at end of file diff --git a/module/Application/view/application/modulateur/index.phtml b/module/Application/view/application/modulateur/index.phtml index 3e475f652..4b7f70e3f 100644 --- a/module/Application/view/application/modulateur/index.phtml +++ b/module/Application/view/application/modulateur/index.phtml @@ -1,34 +1,36 @@ ' : ''); } -$this->headTitle()->append("Modulateurs des taux horaires"); +$this->headTitle()->append("Gestion des modulateurs"); $canEdit = $this->isAllowed(Privileges::getResourceId(Privileges::MODULATEUR_EDITION)); ?> -

Modulateurs des taux horaires

+

Gestion des modulateurs

isAllowed($tm,Privileges::MODULATEUR_VISUALISATION)) { ?> + if ($this->isAllowed($tm, Privileges::MODULATEUR_VISUALISATION)) { ?>
@@ -123,12 +157,12 @@ foreach ($typeModulateurs as $tm) { - - - - Ajouter un type de modulateur + + + + Ajouter un type de modulateur