Loading module/Fichier/src/Fichier/Form/Upload/UploadHydrator.php +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ class UploadHydrator implements HydratorInterface { public function extract($object): array { $data = [ 'nature' => ($object)?$object->getNature()->getId():null, 'nature' => ($object AND $object->getNature())?$object->getNature()->getId():null, ]; return $data; } Loading module/Formation/config/merged/demande-externe.config.php +50 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ use Formation\Form\DemandeExterne\DemandeExterneHydratorFactory; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Service\DemandeExterne\DemandeExterneService; use Formation\Service\DemandeExterne\DemandeExterneServiceFactory; use Formation\View\Helper\DemandeExterneViewHelper; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; use UnicaenPrivilege\Guard\PrivilegeController; Loading Loading @@ -51,6 +52,8 @@ return [ 'controller' => DemandeExterneController::class, 'action' => [ 'index', 'rechercher-agent', 'rechercher-organisme', ], 'privileges' => [ DemandeexternePrivileges::DEMANDEEXTERNE_INDEX, Loading Loading @@ -80,6 +83,8 @@ return [ 'controller' => DemandeExterneController::class, 'action' => [ 'modifier', 'ajouter-devis', 'retirer-devis', ], 'privileges' => [ DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER, Loading Loading @@ -212,6 +217,26 @@ return [ ], ], ], 'ajouter-devis' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-devis/:demande-externe', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'ajouter-devis' ], ], ], 'retirer-devis' => [ 'type' => Segment::class, 'options' => [ 'route' => '/retirer-devis/:devis', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'retirer-devis' ], ], ], 'historiser' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -292,6 +317,26 @@ return [ ], ], ], 'rechercher-agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/rechercher-agent', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'rechercher-agent' ], ], ], 'rechercher-organisme' => [ 'type' => Literal::class, 'options' => [ 'route' => '/rechercher-organisme', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'rechercher-organisme' ], ], ], ], ], ], Loading Loading @@ -319,6 +364,11 @@ return [ 'factories' => [ DemandeExterneHydrator::class => DemandeExterneHydratorFactory::class, ], ], 'view_helpers' => [ 'invokables' => [ 'demandeExterne' => DemandeExterneViewHelper::class, ] ] ]; No newline at end of file module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php +9 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Constant\RoleConstant; use Application\Entity\Db\Agent; use Application\Service\Agent\AgentServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Provider\Role\FormationRoles; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; Loading Loading @@ -45,6 +46,7 @@ class DemandeExterneAssertion extends AbstractAssertion { if ($roleId === Structure::ROLE_RESPONSABLE) $liste = $structure->getResponsables(); foreach ($liste as $agent) $agents[$agent->getId()] = $agent; } $agents = array_map(function ($a) { return $a->getAgent();}, $agents); return $agents; } Loading @@ -66,18 +68,23 @@ class DemandeExterneAssertion extends AbstractAssertion { case FormationRoles::GESTIONNAIRE_FORMATION : return true; case RoleConstant::PERSONNEL : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; return $agent->getUtilisateur() === $user; case Agent::ROLE_AUTORITE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $autorites = $this->getAgentService()->computeAutorites($agent); return DemandeExterneAssertion::userInAgents($user, $autorites); case Agent::ROLE_SUPERIEURE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $superieurs = $this->getAgentService()->computeSuperieures($agent); return DemandeExterneAssertion::userInAgents($user, $superieurs); case Structure::ROLE_RESPONSABLE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $structures = $this->getAgentService()->computesStructures($agent); $responsables = DemandeExterneAssertion::agentInStructures(Structure::ROLE_RESPONSABLE, $structures); return DemandeExterneAssertion::userInAgents($user, $responsables); case Structure::ROLE_GESTIONNAIRE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $structures = $this->getAgentService()->computesStructures($agent); $gestionnaires = DemandeExterneAssertion::agentInStructures(Structure::ROLE_GESTIONNAIRE, $structures); return DemandeExterneAssertion::userInAgents($user, $gestionnaires); Loading Loading @@ -111,6 +118,8 @@ class DemandeExterneAssertion extends AbstractAssertion { case 'ajouter' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER, $entityAgent); case 'modifier' : case 'ajouter-devis' : case 'retirer-devis' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); case 'historiser' : case 'restaurer' : Loading module/Formation/src/Formation/Controller/DemandeExterneController.php +109 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,10 @@ namespace Formation\Controller; use Application\Service\Agent\AgentServiceAwareTrait; use Fichier\Entity\Db\Fichier; use Fichier\Form\Upload\UploadFormAwareTrait; use Fichier\Service\Fichier\FichierServiceAwareTrait; use Fichier\Service\Nature\NatureServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Form\DemandeExterne\DemandeExterneFormAwareTrait; use Formation\Form\Inscription\InscriptionFormAwareTrait; Loading @@ -14,6 +18,7 @@ use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\JsonModel; use Laminas\View\Model\ViewModel; use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; Loading @@ -21,18 +26,36 @@ use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; class DemandeExterneController extends AbstractActionController { use AgentServiceAwareTrait; use EtatServiceAwareTrait; use DemandeExterneServiceAwareTrait; use EtatServiceAwareTrait; use FichierServiceAwareTrait; use NatureServiceAwareTrait; use NotificationServiceAwareTrait; use DemandeExterneFormAwareTrait; use UploadFormAwareTrait; use InscriptionFormAwareTrait; public function indexAction() : ViewModel { $demandes = $this->getDemandeExterneService()->getDemandesExternes(); $fromQueries = $this->params()->fromQuery(); $params = [ 'agent' => $this->getAgentService()->getAgent($fromQueries['agent']['id']), 'organisme' => $fromQueries['organisme']['id'], 'etat' => $this->getEtatService()->getEtat((trim($fromQueries['etat'])!=='')?trim($fromQueries['etat']):null), 'historise' => $fromQueries['historise'], ]; $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); $etats = $this->getEtatService()->getEtatsByTypeCode(DemandeExterneEtats::TYPE); return new ViewModel([ 'demandes' => $demandes, 'etats' => $etats, return new ViewModel(['demandes' => $demandes]); 'params' => $params ]); } public function afficherAction() : ViewModel Loading Loading @@ -271,7 +294,7 @@ class DemandeExterneController extends AbstractActionController { 'inscription' => $demande, 'form' => $form, ]); $vm->setTemplate('formation/demande-externe'); $vm->setTemplate('formation/formation-instance-inscrit/inscription'); return $vm; } Loading Loading @@ -305,7 +328,88 @@ class DemandeExterneController extends AbstractActionController { 'inscription' => $demande, 'form' => $form, ]); $vm->setTemplate('formation/demande-externe'); $vm->setTemplate('formation/formation-instance-inscrit/inscription'); return $vm; } /** DEVIS *********************************************************************************************/ public function ajouterDevisAction() { $demande = $this->getDemandeExterneService()->getRequestedDemandeExterne($this); $fichier = new Fichier(); $devisNature = $this->getNatureService()->getNatureByCode('DEMANDEEXTERNE_DEVIS'); $fichier->setNature($devisNature); $form = $this->getUploadForm(); $form->setAttribute('action', $this->url()->fromRoute('formation/demande-externe/ajouter-devis', ['demande-externe' => $demande->getId()], [], true)); $form->get('nature')->setValueOptions([$devisNature->getId() => $devisNature->getLibelle()]); $form->bind($fichier); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $files = $request->getFiles(); $file = $files['fichier']; if ($file['name'] != '') { $nature = $this->getNatureService()->getNature($data['nature']); $fichier = $this->getFichierService()->createFichierFromUpload($file, $nature); $demande->addDevis($fichier); $this->getDemandeExterneService()->update($demande); } return $this->redirect()->toRoute('inscription-formation', [], [], true); } $vm = new ViewModel(); $vm->setTemplate('formation/default/default-form'); $vm->setVariables([ 'title' => 'Téléverserment d\'un fichier', 'form' => $form, ]); return $vm; } public function retirerDevisAction() : Response { $fichier = $this->getFichierService()->getRequestedFichier($this, 'devis'); $this->getFichierService()->delete($fichier); return $this->redirect()->toRoute('inscription-formation', [], ['fragment' => "demandes"], true); } /** FONCTIONS POUR LE FILTRE ***************************************************************************/ public function rechercherAgentAction() : JsonModel { if (($term = $this->params()->fromQuery('term'))) { $agents = $this->getDemandeExterneService()->findAgentByTerm($term); $result = $this->getAgentService()->formatAgentJSON($agents); return new JsonModel($result); } exit; } public function rechercherOrganismeAction() : JsonModel { if (($term = $this->params()->fromQuery('term'))) { $organismes = $this->getDemandeExterneService()->findOrganismeByTerm($term); $result = []; foreach ($organismes as $organisme) { $result[] = array( 'id' => $organisme, 'label' => $organisme, ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } exit; } } No newline at end of file module/Formation/src/Formation/Controller/DemandeExterneControllerFactory.php +15 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace Formation\Controller; use Application\Service\Agent\AgentService; use Fichier\Form\Upload\UploadForm; use Fichier\Service\Fichier\FichierService; use Fichier\Service\Nature\NatureService; use Formation\Form\DemandeExterne\DemandeExterneForm; use Formation\Form\Inscription\InscriptionForm; use Formation\Service\DemandeExterne\DemandeExterneService; Loading @@ -26,27 +29,39 @@ class DemandeExterneControllerFactory { * @var AgentService $agentService * @var DemandeExterneService $demandeExterneService * @var EtatService $etatService * @var FichierService $fichierService * @var NatureService $natureService * @var NotificationService $notificationService */ $agentService = $container->get(AgentService::class); $demandeExterneService = $container->get(DemandeExterneService::class); $etatService = $container->get(EtatService::class); $fichierService = $container->get(FichierService::class); $natureService = $container->get(NatureService::class); $notificationService = $container->get(NotificationService::class); /** * @var DemandeExterneForm $demandeExterneForm * @var InscriptionForm $inscriptionForm * @var UploadForm $uploadForm */ $demandeExterneForm = $container->get('FormElementManager')->get(DemandeExterneForm::class); $inscriptionForm = $container->get('FormElementManager')->get(InscriptionForm::class); $uploadForm = $container->get('FormElementManager')->get(UploadForm::class); $controller = new DemandeExterneController(); $controller->setAgentService($agentService); $controller->setDemandeExterneService($demandeExterneService); $controller->setEtatService($etatService); $controller->setFichierService($fichierService); $controller->setNatureService($natureService); $controller->setNotificationService($notificationService); $controller->setDemandeExterneForm($demandeExterneForm); $controller->setInscriptionForm($inscriptionForm); $controller->setUploadForm($uploadForm); return $controller; } } No newline at end of file Loading
module/Fichier/src/Fichier/Form/Upload/UploadHydrator.php +1 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ class UploadHydrator implements HydratorInterface { public function extract($object): array { $data = [ 'nature' => ($object)?$object->getNature()->getId():null, 'nature' => ($object AND $object->getNature())?$object->getNature()->getId():null, ]; return $data; } Loading
module/Formation/config/merged/demande-externe.config.php +50 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ use Formation\Form\DemandeExterne\DemandeExterneHydratorFactory; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Service\DemandeExterne\DemandeExterneService; use Formation\Service\DemandeExterne\DemandeExterneServiceFactory; use Formation\View\Helper\DemandeExterneViewHelper; use Laminas\Router\Http\Literal; use Laminas\Router\Http\Segment; use UnicaenPrivilege\Guard\PrivilegeController; Loading Loading @@ -51,6 +52,8 @@ return [ 'controller' => DemandeExterneController::class, 'action' => [ 'index', 'rechercher-agent', 'rechercher-organisme', ], 'privileges' => [ DemandeexternePrivileges::DEMANDEEXTERNE_INDEX, Loading Loading @@ -80,6 +83,8 @@ return [ 'controller' => DemandeExterneController::class, 'action' => [ 'modifier', 'ajouter-devis', 'retirer-devis', ], 'privileges' => [ DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER, Loading Loading @@ -212,6 +217,26 @@ return [ ], ], ], 'ajouter-devis' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter-devis/:demande-externe', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'ajouter-devis' ], ], ], 'retirer-devis' => [ 'type' => Segment::class, 'options' => [ 'route' => '/retirer-devis/:devis', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'retirer-devis' ], ], ], 'historiser' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -292,6 +317,26 @@ return [ ], ], ], 'rechercher-agent' => [ 'type' => Literal::class, 'options' => [ 'route' => '/rechercher-agent', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'rechercher-agent' ], ], ], 'rechercher-organisme' => [ 'type' => Literal::class, 'options' => [ 'route' => '/rechercher-organisme', 'defaults' => [ 'controller' => DemandeExterneController::class, 'action' => 'rechercher-organisme' ], ], ], ], ], ], Loading Loading @@ -319,6 +364,11 @@ return [ 'factories' => [ DemandeExterneHydrator::class => DemandeExterneHydratorFactory::class, ], ], 'view_helpers' => [ 'invokables' => [ 'demandeExterne' => DemandeExterneViewHelper::class, ] ] ]; No newline at end of file
module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php +9 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Constant\RoleConstant; use Application\Entity\Db\Agent; use Application\Service\Agent\AgentServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Provider\Role\FormationRoles; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; Loading Loading @@ -45,6 +46,7 @@ class DemandeExterneAssertion extends AbstractAssertion { if ($roleId === Structure::ROLE_RESPONSABLE) $liste = $structure->getResponsables(); foreach ($liste as $agent) $agents[$agent->getId()] = $agent; } $agents = array_map(function ($a) { return $a->getAgent();}, $agents); return $agents; } Loading @@ -66,18 +68,23 @@ class DemandeExterneAssertion extends AbstractAssertion { case FormationRoles::GESTIONNAIRE_FORMATION : return true; case RoleConstant::PERSONNEL : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; return $agent->getUtilisateur() === $user; case Agent::ROLE_AUTORITE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $autorites = $this->getAgentService()->computeAutorites($agent); return DemandeExterneAssertion::userInAgents($user, $autorites); case Agent::ROLE_SUPERIEURE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $superieurs = $this->getAgentService()->computeSuperieures($agent); return DemandeExterneAssertion::userInAgents($user, $superieurs); case Structure::ROLE_RESPONSABLE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $structures = $this->getAgentService()->computesStructures($agent); $responsables = DemandeExterneAssertion::agentInStructures(Structure::ROLE_RESPONSABLE, $structures); return DemandeExterneAssertion::userInAgents($user, $responsables); case Structure::ROLE_GESTIONNAIRE : if ($privilege === DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER AND $demande->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS) return false; $structures = $this->getAgentService()->computesStructures($agent); $gestionnaires = DemandeExterneAssertion::agentInStructures(Structure::ROLE_GESTIONNAIRE, $structures); return DemandeExterneAssertion::userInAgents($user, $gestionnaires); Loading Loading @@ -111,6 +118,8 @@ class DemandeExterneAssertion extends AbstractAssertion { case 'ajouter' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER, $entityAgent); case 'modifier' : case 'ajouter-devis' : case 'retirer-devis' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); case 'historiser' : case 'restaurer' : Loading
module/Formation/src/Formation/Controller/DemandeExterneController.php +109 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,10 @@ namespace Formation\Controller; use Application\Service\Agent\AgentServiceAwareTrait; use Fichier\Entity\Db\Fichier; use Fichier\Form\Upload\UploadFormAwareTrait; use Fichier\Service\Fichier\FichierServiceAwareTrait; use Fichier\Service\Nature\NatureServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Form\DemandeExterne\DemandeExterneFormAwareTrait; use Formation\Form\Inscription\InscriptionFormAwareTrait; Loading @@ -14,6 +18,7 @@ use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\JsonModel; use Laminas\View\Model\ViewModel; use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; Loading @@ -21,18 +26,36 @@ use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; class DemandeExterneController extends AbstractActionController { use AgentServiceAwareTrait; use EtatServiceAwareTrait; use DemandeExterneServiceAwareTrait; use EtatServiceAwareTrait; use FichierServiceAwareTrait; use NatureServiceAwareTrait; use NotificationServiceAwareTrait; use DemandeExterneFormAwareTrait; use UploadFormAwareTrait; use InscriptionFormAwareTrait; public function indexAction() : ViewModel { $demandes = $this->getDemandeExterneService()->getDemandesExternes(); $fromQueries = $this->params()->fromQuery(); $params = [ 'agent' => $this->getAgentService()->getAgent($fromQueries['agent']['id']), 'organisme' => $fromQueries['organisme']['id'], 'etat' => $this->getEtatService()->getEtat((trim($fromQueries['etat'])!=='')?trim($fromQueries['etat']):null), 'historise' => $fromQueries['historise'], ]; $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); $etats = $this->getEtatService()->getEtatsByTypeCode(DemandeExterneEtats::TYPE); return new ViewModel([ 'demandes' => $demandes, 'etats' => $etats, return new ViewModel(['demandes' => $demandes]); 'params' => $params ]); } public function afficherAction() : ViewModel Loading Loading @@ -271,7 +294,7 @@ class DemandeExterneController extends AbstractActionController { 'inscription' => $demande, 'form' => $form, ]); $vm->setTemplate('formation/demande-externe'); $vm->setTemplate('formation/formation-instance-inscrit/inscription'); return $vm; } Loading Loading @@ -305,7 +328,88 @@ class DemandeExterneController extends AbstractActionController { 'inscription' => $demande, 'form' => $form, ]); $vm->setTemplate('formation/demande-externe'); $vm->setTemplate('formation/formation-instance-inscrit/inscription'); return $vm; } /** DEVIS *********************************************************************************************/ public function ajouterDevisAction() { $demande = $this->getDemandeExterneService()->getRequestedDemandeExterne($this); $fichier = new Fichier(); $devisNature = $this->getNatureService()->getNatureByCode('DEMANDEEXTERNE_DEVIS'); $fichier->setNature($devisNature); $form = $this->getUploadForm(); $form->setAttribute('action', $this->url()->fromRoute('formation/demande-externe/ajouter-devis', ['demande-externe' => $demande->getId()], [], true)); $form->get('nature')->setValueOptions([$devisNature->getId() => $devisNature->getLibelle()]); $form->bind($fichier); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $files = $request->getFiles(); $file = $files['fichier']; if ($file['name'] != '') { $nature = $this->getNatureService()->getNature($data['nature']); $fichier = $this->getFichierService()->createFichierFromUpload($file, $nature); $demande->addDevis($fichier); $this->getDemandeExterneService()->update($demande); } return $this->redirect()->toRoute('inscription-formation', [], [], true); } $vm = new ViewModel(); $vm->setTemplate('formation/default/default-form'); $vm->setVariables([ 'title' => 'Téléverserment d\'un fichier', 'form' => $form, ]); return $vm; } public function retirerDevisAction() : Response { $fichier = $this->getFichierService()->getRequestedFichier($this, 'devis'); $this->getFichierService()->delete($fichier); return $this->redirect()->toRoute('inscription-formation', [], ['fragment' => "demandes"], true); } /** FONCTIONS POUR LE FILTRE ***************************************************************************/ public function rechercherAgentAction() : JsonModel { if (($term = $this->params()->fromQuery('term'))) { $agents = $this->getDemandeExterneService()->findAgentByTerm($term); $result = $this->getAgentService()->formatAgentJSON($agents); return new JsonModel($result); } exit; } public function rechercherOrganismeAction() : JsonModel { if (($term = $this->params()->fromQuery('term'))) { $organismes = $this->getDemandeExterneService()->findOrganismeByTerm($term); $result = []; foreach ($organismes as $organisme) { $result[] = array( 'id' => $organisme, 'label' => $organisme, ); } usort($result, function ($a, $b) { return strcmp($a['label'], $b['label']); }); return new JsonModel($result); } exit; } } No newline at end of file
module/Formation/src/Formation/Controller/DemandeExterneControllerFactory.php +15 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace Formation\Controller; use Application\Service\Agent\AgentService; use Fichier\Form\Upload\UploadForm; use Fichier\Service\Fichier\FichierService; use Fichier\Service\Nature\NatureService; use Formation\Form\DemandeExterne\DemandeExterneForm; use Formation\Form\Inscription\InscriptionForm; use Formation\Service\DemandeExterne\DemandeExterneService; Loading @@ -26,27 +29,39 @@ class DemandeExterneControllerFactory { * @var AgentService $agentService * @var DemandeExterneService $demandeExterneService * @var EtatService $etatService * @var FichierService $fichierService * @var NatureService $natureService * @var NotificationService $notificationService */ $agentService = $container->get(AgentService::class); $demandeExterneService = $container->get(DemandeExterneService::class); $etatService = $container->get(EtatService::class); $fichierService = $container->get(FichierService::class); $natureService = $container->get(NatureService::class); $notificationService = $container->get(NotificationService::class); /** * @var DemandeExterneForm $demandeExterneForm * @var InscriptionForm $inscriptionForm * @var UploadForm $uploadForm */ $demandeExterneForm = $container->get('FormElementManager')->get(DemandeExterneForm::class); $inscriptionForm = $container->get('FormElementManager')->get(InscriptionForm::class); $uploadForm = $container->get('FormElementManager')->get(UploadForm::class); $controller = new DemandeExterneController(); $controller->setAgentService($agentService); $controller->setDemandeExterneService($demandeExterneService); $controller->setEtatService($etatService); $controller->setFichierService($fichierService); $controller->setNatureService($natureService); $controller->setNotificationService($notificationService); $controller->setDemandeExterneForm($demandeExterneForm); $controller->setInscriptionForm($inscriptionForm); $controller->setUploadForm($uploadForm); return $controller; } } No newline at end of file