Loading module/Application/src/Controller/Plugin/Context.php +9 −2 Changes for module/Application/src/Controller/Plugin/Context.php: 9 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -82,9 +82,16 @@ class Context extends Params if ('intervenant' === $target && $value) { $value = $this->getServiceIntervenant()->getByRouteParam($value); } //Adaptation pour que contexte cherche les entités dans d'autres modules que Application $modules = ['Application', 'OffreFormation']; foreach ($modules as $module) { $className = $module . '\\Entity\\Db\\' . ucfirst($target); if (class_exists($className)) { break; } } /* Conversion éventuelle en entité */ $className = 'Application\\Entity\\Db\\' . ucfirst($target); //$className = 'Application\\Entity\\Db\\' . ucfirst($target); if (class_exists($className)) { if (!is_object($value) && !is_array($value)) { $id = (int)$value; Loading module/Enseignement/src/Controller/EnseignementController.php +56 −54 Changes for module/Enseignement/src/Controller/EnseignementController.php: 56 added lines, 54 removed lines. Original line number Diff line number Diff line Loading @@ -65,26 +65,6 @@ class EnseignementController extends AbstractController use EtatSortieServiceAwareTrait; use ElementPedagogiqueServiceAwareTrait; /** * Initialisation des filtres Doctrine pour les historique. * Objectif : laisser passer les enregistrements passés en historique pour mettre en évidence ensuite les erreurs * éventuelles * (services sur des enseignements fermés, etc.) */ protected function initFilters() { $this->em()->getFilters()->enable('historique')->init([ \Enseignement\Entity\Db\Service::class, \Enseignement\Entity\Db\VolumeHoraire::class, \Application\Entity\Db\Validation::class, ]); $this->em()->getFilters()->enable('annee')->init([ ElementPedagogique::class, ]); } public function prevuAction () { $prevu = $this->getServiceTypeVolumeHoraire()->getPrevu(); Loading @@ -94,15 +74,6 @@ class EnseignementController extends AbstractController public function realiseAction() { $realise = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->indexAction($realise); } public function indexAction (?TypeVolumeHoraire $typeVolumeHoraire = null) { $this->initFilters(); Loading Loading @@ -136,6 +107,35 @@ class EnseignementController extends AbstractController /** * Initialisation des filtres Doctrine pour les historique. * Objectif : laisser passer les enregistrements passés en historique pour mettre en évidence ensuite les erreurs * éventuelles * (services sur des enseignements fermés, etc.) */ protected function initFilters () { $this->em()->getFilters()->enable('historique')->init([ \Enseignement\Entity\Db\Service::class, \Enseignement\Entity\Db\VolumeHoraire::class, \Application\Entity\Db\Validation::class, ]); $this->em()->getFilters()->enable('annee')->init([ ElementPedagogique::class, ]); } public function realiseAction () { $realise = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->indexAction($realise); } public function saisieAction () { $this->initFilters(); Loading Loading @@ -218,6 +218,22 @@ class EnseignementController extends AbstractController private function updateTableauxBord (Intervenant $intervenant, $validation = false) { $this->getServiceWorkflow()->calculerTableauxBord([ 'formule', 'validation_enseignement', 'contrat', 'service', ], $intervenant); if (!$validation) { $this->getServiceWorkflow()->calculerTableauxBord(['piece_jointe_demande', 'piece_jointe_fournie'], $intervenant); } } public function rafraichirLigneAction () { $this->initFilters(); Loading Loading @@ -259,7 +275,9 @@ class EnseignementController extends AbstractController $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $element = $this->context()->elementPedagogiqueFromPost('element'); if (!$element instanceof \OffreFormation\Entity\Db\ElementPedagogique) { $element = $this->getServiceElementPedagogique()->get($element); } $etablissement = $this->context()->etablissementFromPost(); if ($serviceId) { Loading Loading @@ -420,15 +438,6 @@ class EnseignementController extends AbstractController public function validationRealiseAction() { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->validationAction($typeVolumeHoraire); } private function validationAction (TypeVolumeHoraire $typeVolumeHoraire) { $this->initFilters(); Loading Loading @@ -496,6 +505,15 @@ class EnseignementController extends AbstractController public function validationRealiseAction () { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->validationAction($typeVolumeHoraire); } public function validerAction () { $this->initFilters(); Loading Loading @@ -564,20 +582,4 @@ class EnseignementController extends AbstractController return new MessengerViewModel(); } private function updateTableauxBord(Intervenant $intervenant, $validation = false) { $this->getServiceWorkflow()->calculerTableauxBord([ 'formule', 'validation_enseignement', 'contrat', 'service', ], $intervenant); if (!$validation) { $this->getServiceWorkflow()->calculerTableauxBord(['piece_jointe_demande', 'piece_jointe_fournie'], $intervenant); } } } module/OffreFormation/src/Service/ElementPedagogiqueService.php +55 −53 Changes for module/OffreFormation/src/Service/ElementPedagogiqueService.php: 55 added lines, 53 removed lines. Original line number Diff line number Diff line Loading @@ -45,18 +45,6 @@ class ElementPedagogiqueService extends AbstractEntityService /** * Retourne l'alias d'entité courante * * @return string */ public function getAlias() { return 'ep'; } /** * Recherche textuelle d'element pédagogique. * Loading Loading @@ -121,7 +109,7 @@ class ElementPedagogiqueService extends AbstractEntityService $whereContext = implode(PHP_EOL . 'AND ', array_filter($whereContext)); $whereContext = $whereContext ? 'AND ' . $whereContext : null; if (isset($filters['element']) && $filters['element'] instanceof ElementPedagogique) { if (isset($filters['element']) && $filters['element'] instanceof \OffreFormation\Entity\Db\ElementPedagogique) { $orEp = " OR ep.id = " . ((int)$filters['element']->getId()); $orCp = " OR cp.element_pedagogique_id = " . ((int)$filters['element']->getId()); } else { Loading @@ -129,6 +117,7 @@ class ElementPedagogiqueService extends AbstractEntityService $orCp = ''; } $sql = " select * from ( select ep.id, Loading Loading @@ -164,7 +153,6 @@ where rang = 1 $result = $this->getEntityManager()->getConnection()->fetchAllAssociative($sql, $params); // var_dump($sql, $params);die; return $result; } Loading Loading @@ -258,43 +246,6 @@ where rang = 1 /** * * @param array $result * @param integer $length * * @return array */ protected function truncateResult($result, $length = 15) { if ($length && ($remain = count($result) - $length) > 0) { $result = array_slice($result, 0, $length); $result[] = ['id' => null, 'label' => "<em><small>$remain résultats restant, affinez vos critères, svp.</small></em>"]; } return $result; } /** * Retourne une nouvelle entité, initialisée avec les bons paramètres * * @return \OffreFormation\Entity\Db\ElementPedagogique */ public function newEntity() { $entity = parent::newEntity(); // toutes les entités créées ont OSE pour source!! $entity->setSource($this->getServiceSource()->getOse()); // on crée pour l'année courante $entity->setAnnee($this->getServiceContext()->getAnnee()); return $entity; } /** * Sauvegarde une entité * Loading Loading @@ -327,6 +278,24 @@ where rang = 1 /** * Retourne une nouvelle entité, initialisée avec les bons paramètres * * @return \OffreFormation\Entity\Db\ElementPedagogique */ public function newEntity () { $entity = parent::newEntity(); // toutes les entités créées ont OSE pour source!! $entity->setSource($this->getServiceSource()->getOse()); // on crée pour l'année courante $entity->setAnnee($this->getServiceContext()->getAnnee()); return $entity; } /** * Supprime (historise par défaut) le service spécifié. * Loading Loading @@ -361,16 +330,18 @@ where rang = 1 * @throws ORMException * @throws OptimisticLockException */ public function updateTauxRemu(ElementPedagogique $elementPedagogique, ?TauxRemu $tauxRemu){ public function updateTauxRemu (ElementPedagogique $elementPedagogique, ?TauxRemu $tauxRemu) { /** @var ElementPedagogique $elp */ $elp = $this->get($elementPedagogique->getId()); $elp->setTauxRemuEp($tauxRemu); $this->getEntityManager()->persist($elp); $this->getEntityManager()->flush($elp); } public function forcerTauxMixite (ElementPedagogique $elementPedagogique, $tauxFi, $tauxFc, $tauxFa) { /** @var ElementTauxRegimes $etr */ Loading Loading @@ -494,4 +465,35 @@ where rang = 1 return $qb; } /** * Retourne l'alias d'entité courante * * @return string */ public function getAlias () { return 'ep'; } /** * * @param array $result * @param integer $length * * @return array */ protected function truncateResult ($result, $length = 15) { if ($length && ($remain = count($result) - $length) > 0) { $result = array_slice($result, 0, $length); $result[] = ['id' => null, 'label' => "<em><small>$remain résultats restant, affinez vos critères, svp.</small></em>"]; } return $result; } } Loading
module/Application/src/Controller/Plugin/Context.php +9 −2 Changes for module/Application/src/Controller/Plugin/Context.php: 9 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -82,9 +82,16 @@ class Context extends Params if ('intervenant' === $target && $value) { $value = $this->getServiceIntervenant()->getByRouteParam($value); } //Adaptation pour que contexte cherche les entités dans d'autres modules que Application $modules = ['Application', 'OffreFormation']; foreach ($modules as $module) { $className = $module . '\\Entity\\Db\\' . ucfirst($target); if (class_exists($className)) { break; } } /* Conversion éventuelle en entité */ $className = 'Application\\Entity\\Db\\' . ucfirst($target); //$className = 'Application\\Entity\\Db\\' . ucfirst($target); if (class_exists($className)) { if (!is_object($value) && !is_array($value)) { $id = (int)$value; Loading
module/Enseignement/src/Controller/EnseignementController.php +56 −54 Changes for module/Enseignement/src/Controller/EnseignementController.php: 56 added lines, 54 removed lines. Original line number Diff line number Diff line Loading @@ -65,26 +65,6 @@ class EnseignementController extends AbstractController use EtatSortieServiceAwareTrait; use ElementPedagogiqueServiceAwareTrait; /** * Initialisation des filtres Doctrine pour les historique. * Objectif : laisser passer les enregistrements passés en historique pour mettre en évidence ensuite les erreurs * éventuelles * (services sur des enseignements fermés, etc.) */ protected function initFilters() { $this->em()->getFilters()->enable('historique')->init([ \Enseignement\Entity\Db\Service::class, \Enseignement\Entity\Db\VolumeHoraire::class, \Application\Entity\Db\Validation::class, ]); $this->em()->getFilters()->enable('annee')->init([ ElementPedagogique::class, ]); } public function prevuAction () { $prevu = $this->getServiceTypeVolumeHoraire()->getPrevu(); Loading @@ -94,15 +74,6 @@ class EnseignementController extends AbstractController public function realiseAction() { $realise = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->indexAction($realise); } public function indexAction (?TypeVolumeHoraire $typeVolumeHoraire = null) { $this->initFilters(); Loading Loading @@ -136,6 +107,35 @@ class EnseignementController extends AbstractController /** * Initialisation des filtres Doctrine pour les historique. * Objectif : laisser passer les enregistrements passés en historique pour mettre en évidence ensuite les erreurs * éventuelles * (services sur des enseignements fermés, etc.) */ protected function initFilters () { $this->em()->getFilters()->enable('historique')->init([ \Enseignement\Entity\Db\Service::class, \Enseignement\Entity\Db\VolumeHoraire::class, \Application\Entity\Db\Validation::class, ]); $this->em()->getFilters()->enable('annee')->init([ ElementPedagogique::class, ]); } public function realiseAction () { $realise = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->indexAction($realise); } public function saisieAction () { $this->initFilters(); Loading Loading @@ -218,6 +218,22 @@ class EnseignementController extends AbstractController private function updateTableauxBord (Intervenant $intervenant, $validation = false) { $this->getServiceWorkflow()->calculerTableauxBord([ 'formule', 'validation_enseignement', 'contrat', 'service', ], $intervenant); if (!$validation) { $this->getServiceWorkflow()->calculerTableauxBord(['piece_jointe_demande', 'piece_jointe_fournie'], $intervenant); } } public function rafraichirLigneAction () { $this->initFilters(); Loading Loading @@ -259,7 +275,9 @@ class EnseignementController extends AbstractController $form = $this->getFormServiceEnseignementSaisie(); $form->setTypeVolumeHoraire($typeVolumeHoraire); $element = $this->context()->elementPedagogiqueFromPost('element'); if (!$element instanceof \OffreFormation\Entity\Db\ElementPedagogique) { $element = $this->getServiceElementPedagogique()->get($element); } $etablissement = $this->context()->etablissementFromPost(); if ($serviceId) { Loading Loading @@ -420,15 +438,6 @@ class EnseignementController extends AbstractController public function validationRealiseAction() { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->validationAction($typeVolumeHoraire); } private function validationAction (TypeVolumeHoraire $typeVolumeHoraire) { $this->initFilters(); Loading Loading @@ -496,6 +505,15 @@ class EnseignementController extends AbstractController public function validationRealiseAction () { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getRealise(); return $this->validationAction($typeVolumeHoraire); } public function validerAction () { $this->initFilters(); Loading Loading @@ -564,20 +582,4 @@ class EnseignementController extends AbstractController return new MessengerViewModel(); } private function updateTableauxBord(Intervenant $intervenant, $validation = false) { $this->getServiceWorkflow()->calculerTableauxBord([ 'formule', 'validation_enseignement', 'contrat', 'service', ], $intervenant); if (!$validation) { $this->getServiceWorkflow()->calculerTableauxBord(['piece_jointe_demande', 'piece_jointe_fournie'], $intervenant); } } }
module/OffreFormation/src/Service/ElementPedagogiqueService.php +55 −53 Changes for module/OffreFormation/src/Service/ElementPedagogiqueService.php: 55 added lines, 53 removed lines. Original line number Diff line number Diff line Loading @@ -45,18 +45,6 @@ class ElementPedagogiqueService extends AbstractEntityService /** * Retourne l'alias d'entité courante * * @return string */ public function getAlias() { return 'ep'; } /** * Recherche textuelle d'element pédagogique. * Loading Loading @@ -121,7 +109,7 @@ class ElementPedagogiqueService extends AbstractEntityService $whereContext = implode(PHP_EOL . 'AND ', array_filter($whereContext)); $whereContext = $whereContext ? 'AND ' . $whereContext : null; if (isset($filters['element']) && $filters['element'] instanceof ElementPedagogique) { if (isset($filters['element']) && $filters['element'] instanceof \OffreFormation\Entity\Db\ElementPedagogique) { $orEp = " OR ep.id = " . ((int)$filters['element']->getId()); $orCp = " OR cp.element_pedagogique_id = " . ((int)$filters['element']->getId()); } else { Loading @@ -129,6 +117,7 @@ class ElementPedagogiqueService extends AbstractEntityService $orCp = ''; } $sql = " select * from ( select ep.id, Loading Loading @@ -164,7 +153,6 @@ where rang = 1 $result = $this->getEntityManager()->getConnection()->fetchAllAssociative($sql, $params); // var_dump($sql, $params);die; return $result; } Loading Loading @@ -258,43 +246,6 @@ where rang = 1 /** * * @param array $result * @param integer $length * * @return array */ protected function truncateResult($result, $length = 15) { if ($length && ($remain = count($result) - $length) > 0) { $result = array_slice($result, 0, $length); $result[] = ['id' => null, 'label' => "<em><small>$remain résultats restant, affinez vos critères, svp.</small></em>"]; } return $result; } /** * Retourne une nouvelle entité, initialisée avec les bons paramètres * * @return \OffreFormation\Entity\Db\ElementPedagogique */ public function newEntity() { $entity = parent::newEntity(); // toutes les entités créées ont OSE pour source!! $entity->setSource($this->getServiceSource()->getOse()); // on crée pour l'année courante $entity->setAnnee($this->getServiceContext()->getAnnee()); return $entity; } /** * Sauvegarde une entité * Loading Loading @@ -327,6 +278,24 @@ where rang = 1 /** * Retourne une nouvelle entité, initialisée avec les bons paramètres * * @return \OffreFormation\Entity\Db\ElementPedagogique */ public function newEntity () { $entity = parent::newEntity(); // toutes les entités créées ont OSE pour source!! $entity->setSource($this->getServiceSource()->getOse()); // on crée pour l'année courante $entity->setAnnee($this->getServiceContext()->getAnnee()); return $entity; } /** * Supprime (historise par défaut) le service spécifié. * Loading Loading @@ -361,16 +330,18 @@ where rang = 1 * @throws ORMException * @throws OptimisticLockException */ public function updateTauxRemu(ElementPedagogique $elementPedagogique, ?TauxRemu $tauxRemu){ public function updateTauxRemu (ElementPedagogique $elementPedagogique, ?TauxRemu $tauxRemu) { /** @var ElementPedagogique $elp */ $elp = $this->get($elementPedagogique->getId()); $elp->setTauxRemuEp($tauxRemu); $this->getEntityManager()->persist($elp); $this->getEntityManager()->flush($elp); } public function forcerTauxMixite (ElementPedagogique $elementPedagogique, $tauxFi, $tauxFc, $tauxFa) { /** @var ElementTauxRegimes $etr */ Loading Loading @@ -494,4 +465,35 @@ where rang = 1 return $qb; } /** * Retourne l'alias d'entité courante * * @return string */ public function getAlias () { return 'ep'; } /** * * @param array $result * @param integer $length * * @return array */ protected function truncateResult ($result, $length = 15) { if ($length && ($remain = count($result) - $length) > 0) { $result = array_slice($result, 0, $length); $result[] = ['id' => null, 'label' => "<em><small>$remain résultats restant, affinez vos critères, svp.</small></em>"]; } return $result; } }