Loading data/ddl/table/STATUT.php +48 −0 Changes for data/ddl/table/STATUT.php: 48 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -669,6 +669,54 @@ return [ 'position' => 3, 'commentaire' => NULL, ], 'MODE_REFERENTIEL_PREVISIONNEL' => [ 'name' => 'MODE_REFERENTIEL_PREVISIONNEL', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 85, 'commentaire' => NULL, ], 'MODE_REFERENTIEL_REALISE' => [ 'name' => 'MODE_REFERENTIEL_REALISE', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 86, 'commentaire' => NULL, ], 'MODE_SERVICE_PREVISIONNEL' => [ 'name' => 'MODE_SERVICE_PREVISIONNEL', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 83, 'commentaire' => NULL, ], 'MODE_SERVICE_REALISE' => [ 'name' => 'MODE_SERVICE_REALISE', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 84, 'commentaire' => NULL, ], 'MODIF_SERVICE_DU' => [ 'name' => 'MODIF_SERVICE_DU', 'type' => 'bool', Loading data/ddl_columns_pos.php +4 −0 Changes for data/ddl_columns_pos.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1305,6 +1305,10 @@ return [ 'CONTRAT_ETAT_SORTIE_ID', 'TAUX_CHARGES_TTC', 'CONTRAT_GENERATION', 'MODE_SERVICE_PREVISIONNEL', 'MODE_SERVICE_REALISE', 'MODE_REFERENTIEL_PREVISIONNEL', 'MODE_REFERENTIEL_REALISE', ], 'STRUCTURE' => [ 'ID', Loading module/Application/src/Service/ContextService.php +45 −9 Changes for module/Application/src/Service/ContextService.php: 45 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ use Application\Entity\Db\Annee; use Application\Entity\Db\Intervenant; use Application\Entity\Db\Parametre; use Application\Entity\Db\Structure; use Application\Service\Traits\LocalContextServiceAwareTrait; use MongoDB\BSON\Type; use Service\Entity\Db\TypeVolumeHoraire; use Application\Entity\Db\Utilisateur; use Application\Service\Traits\IntervenantServiceAwareTrait; Loading @@ -29,6 +31,7 @@ class ContextService extends AbstractService use Traits\StructureServiceAwareTrait; use SessionContainerTrait; use UserContextServiceAwareTrait; use LocalContextServiceAwareTrait; use IntervenantServiceAwareTrait; use LdapConnecteurAwareTrait; Loading Loading @@ -150,24 +153,40 @@ class ContextService extends AbstractService * * @return string */ public function getModaliteServices($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): string public function getModaliteServices(?TypeVolumeHoraire $typeVolumeHoraire): string { //On récupère le statut de l'intervenant en cours $intervenant = $this->getServiceLocalContext()->getIntervenant(); $statut = ($intervenant) ? $intervenant->getStatut() : null; //On récupère le type de volume horaire if ($typeVolumeHoraire instanceof TypeVolumeHoraire) { $typeVolumeHoraire = $typeVolumeHoraire->getCode(); $codeTypeVolumeHoraire = $typeVolumeHoraire->getCode(); } else { $codeTypeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU; } if ($typeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { if ($codeTypeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeServiceRealise()) ?: $this->getServiceParametres()->get('modalite_services_real_ens'); } $prevReal = 'real'; } else { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeServicePrevisionnel()) ?: $this->getServiceParametres()->get('modalite_services_prev_ens'); } $prevReal = 'prev'; } //Sinon on retourne le mode paramètré par défault return $this->getServiceParametres()->get('modalite_services_' . $prevReal . '_ens'); } public function isModaliteServicesSemestriel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): bool public function isModaliteServicesSemestriel(?TypeVolumeHoraire $typeVolumeHoraire): bool { return $this->getModaliteServices($typeVolumeHoraire) == Parametre::SERVICES_MODALITE_SEMESTRIEL; } Loading @@ -179,26 +198,43 @@ class ContextService extends AbstractService * * @return string */ public function getModaliteReferentiel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): string public function getModaliteReferentiel(?TypeVolumeHoraire $typeVolumeHoraire): string { //On récupère le statut de l'intervenant en cours $intervenant = $this->getServiceLocalContext()->getIntervenant(); $statut = ($intervenant) ? $intervenant->getStatut() : null; //On récupère le type de volume horaire if ($typeVolumeHoraire instanceof TypeVolumeHoraire) { $typeVolumeHoraire = $typeVolumeHoraire->getCode(); $codeTypeVolumeHoraire = $typeVolumeHoraire->getCode(); } else { $codeTypeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU; } if ($typeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { if ($codeTypeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeReferentielRealise()) ?: $this->getServiceParametres()->get('modalite_services_real_ref'); } $prevReal = 'real'; } else { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeReferentielPrevisionnel()) ?: $this->getServiceParametres()->get('modalite_services_prev_ref'); } $prevReal = 'prev'; } //Sinon on retourne le mode paramètré par défault return $this->getServiceParametres()->get('modalite_services_' . $prevReal . '_ref'); } public function isModaliteReferentielSemestriel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): bool public function isModaliteReferentielSemestriel(?TypeVolumeHoraire $typeVolumeHoraire): bool { return $this->getModaliteReferentiel() == Parametre::SERVICES_MODALITE_SEMESTRIEL; return $this->getModaliteReferentiel($typeVolumeHoraire) == Parametre::SERVICES_MODALITE_SEMESTRIEL; } Loading module/Enseignement/src/Controller/VolumeHoraireController.php +6 −1 Changes for module/Enseignement/src/Controller/VolumeHoraireController.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -60,25 +60,28 @@ class VolumeHoraireController extends AbstractController $volumeHoraireListe = $service->getVolumeHoraireListe()->setTypeVolumehoraire($typeVolumeHoraire); $semestriel = $this->getServiceContext()->isModaliteServicesSemestriel($typeVolumeHoraire); return compact('volumeHoraireListe', 'readOnly', 'semestriel'); } public function saisieAction() { return $this->saisieMixte($this->getFormVolumeHoraireSaisie()); } public function saisieCalendaireAction() { return $this->saisieMixte($this->getFormVolumeHoraireSaisieCalendaire()); } private function saisieMixte(AbstractForm $form) { $this->em()->getFilters()->enable('historique')->init([ VolumeHoraire::class, MotifNonPaiement::class, Loading Loading @@ -138,6 +141,7 @@ class VolumeHoraireController extends AbstractController } public function suppressionCalendaireAction() { /** @var Service $service */ Loading Loading @@ -169,6 +173,7 @@ class VolumeHoraireController extends AbstractController } private function updateTableauxBord(Intervenant $intervenant) { $this->getServiceWorkflow()->calculerTableauxBord([ Loading module/Enseignement/src/Entity/VolumeHoraireListe.php +55 −4 Changes for module/Enseignement/src/Entity/VolumeHoraireListe.php: 55 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -153,7 +153,6 @@ class VolumeHoraireListe */ protected $tag = false; /** * @var Contrat|boolean */ Loading Loading @@ -189,12 +188,14 @@ class VolumeHoraireListe public $__debug; function __construct(Service $service) { $this->setService($service); } /** * Retourne la liste des volumes horaires du service (sans les motifs de non paiement) * Les clés sont les codes des types d'intervention des volumes horaires Loading @@ -218,12 +219,14 @@ class VolumeHoraireListe } public function getService(): Service { return $this->service; } public function setService(Service $service): VolumeHoraireListe { $this->service = $service; Loading @@ -232,6 +235,7 @@ class VolumeHoraireListe } /** * Détermine si un volume horaire répond aux critères de la liste ou non */ Loading Loading @@ -280,7 +284,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire()->getCode())) { if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $motifNonPaiement = $volumeHoraire->getMotifNonPaiement(); if (true === $this->motifNonPaiement) { if (null === $motifNonPaiement) return false; Loading @@ -289,7 +293,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire()->getCode())) { if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $tag = $volumeHoraire->getTag(); if (true === $this->tag) { if (null === $tag) return false; Loading Loading @@ -345,6 +349,7 @@ class VolumeHoraireListe } private function timestamp(?\DateTime $dateTime): int { if ($dateTime instanceof \DateTime) { Loading @@ -355,6 +360,7 @@ class VolumeHoraireListe } /** * @return Source|bool */ Loading @@ -364,6 +370,7 @@ class VolumeHoraireListe } /** * @param Source|bool $source * Loading @@ -378,12 +385,14 @@ class VolumeHoraireListe } public function getFilterByHistorique(): bool { return $this->filterByHistorique; } public function setFilterByHistorique(bool $filterByHistorique): VolumeHoraireListe { $this->filterByHistorique = $filterByHistorique; Loading @@ -393,12 +402,14 @@ class VolumeHoraireListe } public function getNew(): bool { return $this->new; } /** * @param bool $new * Loading @@ -413,6 +424,7 @@ class VolumeHoraireListe } /** * Détermine si, dans la liste des heures, des périodes non autorisées sont présentes */ Loading @@ -430,6 +442,7 @@ class VolumeHoraireListe } /** * Retourne la liste des types d'intervention concernés par le service */ Loading @@ -447,6 +460,7 @@ class VolumeHoraireListe } /** * * @return Periode[] Loading @@ -465,6 +479,7 @@ class VolumeHoraireListe } /** * * @return MotifNonPaiement[] Loading Loading @@ -493,6 +508,8 @@ class VolumeHoraireListe return $mnps; } /** * * @return Tag[] Loading Loading @@ -522,6 +539,7 @@ class VolumeHoraireListe } private function makeSousListeId(VolumeHoraire $vh, array $filtres = []): string { $id = []; Loading Loading @@ -555,6 +573,7 @@ class VolumeHoraireListe } /** * @param array $filtres * Loading @@ -575,6 +594,7 @@ class VolumeHoraireListe } /** * retourne une liste fille de volumes horaires */ Loading @@ -589,6 +609,7 @@ class VolumeHoraireListe } /** * @param VolumeHoraire $vh * @param array $filtres Loading Loading @@ -643,6 +664,7 @@ class VolumeHoraireListe } /** * @param VolumeHoraireListe $vhl * @param array $filtres Loading Loading @@ -695,6 +717,7 @@ class VolumeHoraireListe } public function getHeures(): float { $volumesHoraires = $this->getVolumeHoraires(); Loading @@ -707,6 +730,7 @@ class VolumeHoraireListe } public function isVolumeHoraireModifiable(VolumeHoraire $volumeHoraire): bool { return !( Loading @@ -718,6 +742,7 @@ class VolumeHoraireListe } /** * Affecte un certain nombre d'heures à la liste * Loading Loading @@ -918,6 +943,7 @@ class VolumeHoraireListe } /** * @param $heures * @param $ancienMotifNonPaiement Loading Loading @@ -947,6 +973,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime|null $horaireDebut * @param bool|\DateTime|null $horaireFin Loading Loading @@ -992,7 +1019,6 @@ class VolumeHoraireListe if ($tag !== false) { $vh->setTag($tag); } } else { $heuresAReporter += $vh->getHeures(); $rid = $this->makeSousListeId($vh, $reportFilters); Loading Loading @@ -1029,6 +1055,7 @@ class VolumeHoraireListe } /** * Détermine si la liste est vide ou non */ Loading @@ -1038,6 +1065,7 @@ class VolumeHoraireListe } /** * Retourne le nombre de volumes horaires concernés par la liste */ Loading @@ -1047,6 +1075,7 @@ class VolumeHoraireListe } /** * * @return TypeVolumeHoraire|boolean Loading @@ -1057,6 +1086,7 @@ class VolumeHoraireListe } /** * * @param TypeVolumeHoraire|boolean $typeVolumeHoraire Loading @@ -1078,6 +1108,7 @@ class VolumeHoraireListe } /** * * @return Periode|boolean Loading @@ -1088,6 +1119,7 @@ class VolumeHoraireListe } /** * * @param Periode|boolean $periode Loading @@ -1109,6 +1141,7 @@ class VolumeHoraireListe } /** * * @return TypeIntervention|boolean Loading @@ -1119,6 +1152,7 @@ class VolumeHoraireListe } /** * * @param TypeIntervention|boolean $typeIntervention Loading @@ -1140,6 +1174,7 @@ class VolumeHoraireListe } /** * @return bool|\DateTime */ Loading @@ -1149,6 +1184,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime $horaireDebut * Loading @@ -1169,6 +1205,7 @@ class VolumeHoraireListe } /** * @return bool|\DateTime */ Loading @@ -1178,6 +1215,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime $horaireFin * Loading @@ -1198,6 +1236,7 @@ class VolumeHoraireListe } /** * * @return EtatVolumeHoraire|boolean Loading @@ -1208,6 +1247,7 @@ class VolumeHoraireListe } /** * * @param EtatVolumeHoraire|boolean $etatVolumeHoraire Loading @@ -1229,6 +1269,7 @@ class VolumeHoraireListe } /** * * @return MotifNonPaiement|boolean Loading @@ -1239,6 +1280,7 @@ class VolumeHoraireListe } /** * * @param MotifNonPaiement|boolean $motifNonPaiement Loading @@ -1259,6 +1301,8 @@ class VolumeHoraireListe return $this; } /** * * @return Tag|boolean Loading @@ -1268,6 +1312,8 @@ class VolumeHoraireListe return $this->tag; } /** * * @param Tag|boolean $tag Loading @@ -1287,6 +1333,8 @@ class VolumeHoraireListe return $this; } /** * * @return Contrat|boolean Loading @@ -1297,6 +1345,7 @@ class VolumeHoraireListe } /** * * @param Contrat|boolean $contrat Loading @@ -1318,6 +1367,7 @@ class VolumeHoraireListe } /** * * @return Validation|boolean Loading @@ -1328,6 +1378,7 @@ class VolumeHoraireListe } /** * * @param Validation|boolean $validation Loading Loading
data/ddl/table/STATUT.php +48 −0 Changes for data/ddl/table/STATUT.php: 48 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -669,6 +669,54 @@ return [ 'position' => 3, 'commentaire' => NULL, ], 'MODE_REFERENTIEL_PREVISIONNEL' => [ 'name' => 'MODE_REFERENTIEL_PREVISIONNEL', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 85, 'commentaire' => NULL, ], 'MODE_REFERENTIEL_REALISE' => [ 'name' => 'MODE_REFERENTIEL_REALISE', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 86, 'commentaire' => NULL, ], 'MODE_SERVICE_PREVISIONNEL' => [ 'name' => 'MODE_SERVICE_PREVISIONNEL', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 83, 'commentaire' => NULL, ], 'MODE_SERVICE_REALISE' => [ 'name' => 'MODE_SERVICE_REALISE', 'type' => 'string', 'bdd-type' => 'VARCHAR2', 'length' => 50, 'scale' => NULL, 'precision' => NULL, 'nullable' => TRUE, 'default' => NULL, 'position' => 84, 'commentaire' => NULL, ], 'MODIF_SERVICE_DU' => [ 'name' => 'MODIF_SERVICE_DU', 'type' => 'bool', Loading
data/ddl_columns_pos.php +4 −0 Changes for data/ddl_columns_pos.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1305,6 +1305,10 @@ return [ 'CONTRAT_ETAT_SORTIE_ID', 'TAUX_CHARGES_TTC', 'CONTRAT_GENERATION', 'MODE_SERVICE_PREVISIONNEL', 'MODE_SERVICE_REALISE', 'MODE_REFERENTIEL_PREVISIONNEL', 'MODE_REFERENTIEL_REALISE', ], 'STRUCTURE' => [ 'ID', Loading
module/Application/src/Service/ContextService.php +45 −9 Changes for module/Application/src/Service/ContextService.php: 45 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ use Application\Entity\Db\Annee; use Application\Entity\Db\Intervenant; use Application\Entity\Db\Parametre; use Application\Entity\Db\Structure; use Application\Service\Traits\LocalContextServiceAwareTrait; use MongoDB\BSON\Type; use Service\Entity\Db\TypeVolumeHoraire; use Application\Entity\Db\Utilisateur; use Application\Service\Traits\IntervenantServiceAwareTrait; Loading @@ -29,6 +31,7 @@ class ContextService extends AbstractService use Traits\StructureServiceAwareTrait; use SessionContainerTrait; use UserContextServiceAwareTrait; use LocalContextServiceAwareTrait; use IntervenantServiceAwareTrait; use LdapConnecteurAwareTrait; Loading Loading @@ -150,24 +153,40 @@ class ContextService extends AbstractService * * @return string */ public function getModaliteServices($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): string public function getModaliteServices(?TypeVolumeHoraire $typeVolumeHoraire): string { //On récupère le statut de l'intervenant en cours $intervenant = $this->getServiceLocalContext()->getIntervenant(); $statut = ($intervenant) ? $intervenant->getStatut() : null; //On récupère le type de volume horaire if ($typeVolumeHoraire instanceof TypeVolumeHoraire) { $typeVolumeHoraire = $typeVolumeHoraire->getCode(); $codeTypeVolumeHoraire = $typeVolumeHoraire->getCode(); } else { $codeTypeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU; } if ($typeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { if ($codeTypeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeServiceRealise()) ?: $this->getServiceParametres()->get('modalite_services_real_ens'); } $prevReal = 'real'; } else { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeServicePrevisionnel()) ?: $this->getServiceParametres()->get('modalite_services_prev_ens'); } $prevReal = 'prev'; } //Sinon on retourne le mode paramètré par défault return $this->getServiceParametres()->get('modalite_services_' . $prevReal . '_ens'); } public function isModaliteServicesSemestriel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): bool public function isModaliteServicesSemestriel(?TypeVolumeHoraire $typeVolumeHoraire): bool { return $this->getModaliteServices($typeVolumeHoraire) == Parametre::SERVICES_MODALITE_SEMESTRIEL; } Loading @@ -179,26 +198,43 @@ class ContextService extends AbstractService * * @return string */ public function getModaliteReferentiel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): string public function getModaliteReferentiel(?TypeVolumeHoraire $typeVolumeHoraire): string { //On récupère le statut de l'intervenant en cours $intervenant = $this->getServiceLocalContext()->getIntervenant(); $statut = ($intervenant) ? $intervenant->getStatut() : null; //On récupère le type de volume horaire if ($typeVolumeHoraire instanceof TypeVolumeHoraire) { $typeVolumeHoraire = $typeVolumeHoraire->getCode(); $codeTypeVolumeHoraire = $typeVolumeHoraire->getCode(); } else { $codeTypeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU; } if ($typeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { if ($codeTypeVolumeHoraire == TypeVolumeHoraire::CODE_REALISE) { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeReferentielRealise()) ?: $this->getServiceParametres()->get('modalite_services_real_ref'); } $prevReal = 'real'; } else { //Si l'intervenant en cours à un statut valide on retourne le mode paramétré du statut, et si null le mode par défaut if (!empty($statut)) { return ($statut->getModeReferentielPrevisionnel()) ?: $this->getServiceParametres()->get('modalite_services_prev_ref'); } $prevReal = 'prev'; } //Sinon on retourne le mode paramètré par défault return $this->getServiceParametres()->get('modalite_services_' . $prevReal . '_ref'); } public function isModaliteReferentielSemestriel($typeVolumeHoraire = TypeVolumeHoraire::CODE_PREVU): bool public function isModaliteReferentielSemestriel(?TypeVolumeHoraire $typeVolumeHoraire): bool { return $this->getModaliteReferentiel() == Parametre::SERVICES_MODALITE_SEMESTRIEL; return $this->getModaliteReferentiel($typeVolumeHoraire) == Parametre::SERVICES_MODALITE_SEMESTRIEL; } Loading
module/Enseignement/src/Controller/VolumeHoraireController.php +6 −1 Changes for module/Enseignement/src/Controller/VolumeHoraireController.php: 6 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -60,25 +60,28 @@ class VolumeHoraireController extends AbstractController $volumeHoraireListe = $service->getVolumeHoraireListe()->setTypeVolumehoraire($typeVolumeHoraire); $semestriel = $this->getServiceContext()->isModaliteServicesSemestriel($typeVolumeHoraire); return compact('volumeHoraireListe', 'readOnly', 'semestriel'); } public function saisieAction() { return $this->saisieMixte($this->getFormVolumeHoraireSaisie()); } public function saisieCalendaireAction() { return $this->saisieMixte($this->getFormVolumeHoraireSaisieCalendaire()); } private function saisieMixte(AbstractForm $form) { $this->em()->getFilters()->enable('historique')->init([ VolumeHoraire::class, MotifNonPaiement::class, Loading Loading @@ -138,6 +141,7 @@ class VolumeHoraireController extends AbstractController } public function suppressionCalendaireAction() { /** @var Service $service */ Loading Loading @@ -169,6 +173,7 @@ class VolumeHoraireController extends AbstractController } private function updateTableauxBord(Intervenant $intervenant) { $this->getServiceWorkflow()->calculerTableauxBord([ Loading
module/Enseignement/src/Entity/VolumeHoraireListe.php +55 −4 Changes for module/Enseignement/src/Entity/VolumeHoraireListe.php: 55 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -153,7 +153,6 @@ class VolumeHoraireListe */ protected $tag = false; /** * @var Contrat|boolean */ Loading Loading @@ -189,12 +188,14 @@ class VolumeHoraireListe public $__debug; function __construct(Service $service) { $this->setService($service); } /** * Retourne la liste des volumes horaires du service (sans les motifs de non paiement) * Les clés sont les codes des types d'intervention des volumes horaires Loading @@ -218,12 +219,14 @@ class VolumeHoraireListe } public function getService(): Service { return $this->service; } public function setService(Service $service): VolumeHoraireListe { $this->service = $service; Loading @@ -232,6 +235,7 @@ class VolumeHoraireListe } /** * Détermine si un volume horaire répond aux critères de la liste ou non */ Loading Loading @@ -280,7 +284,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire()->getCode())) { if (false !== $this->motifNonPaiement && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $motifNonPaiement = $volumeHoraire->getMotifNonPaiement(); if (true === $this->motifNonPaiement) { if (null === $motifNonPaiement) return false; Loading @@ -289,7 +293,7 @@ class VolumeHoraireListe } } //Uniquement en mode semestriel car en mode calendaire on ne doit pas être sur des mêmes horaires de début et de fin if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire()->getCode())) { if (false !== $this->tag && $this->getServiceContext()->isModaliteServicesSemestriel($volumeHoraire->getTypeVolumeHoraire())) { $tag = $volumeHoraire->getTag(); if (true === $this->tag) { if (null === $tag) return false; Loading Loading @@ -345,6 +349,7 @@ class VolumeHoraireListe } private function timestamp(?\DateTime $dateTime): int { if ($dateTime instanceof \DateTime) { Loading @@ -355,6 +360,7 @@ class VolumeHoraireListe } /** * @return Source|bool */ Loading @@ -364,6 +370,7 @@ class VolumeHoraireListe } /** * @param Source|bool $source * Loading @@ -378,12 +385,14 @@ class VolumeHoraireListe } public function getFilterByHistorique(): bool { return $this->filterByHistorique; } public function setFilterByHistorique(bool $filterByHistorique): VolumeHoraireListe { $this->filterByHistorique = $filterByHistorique; Loading @@ -393,12 +402,14 @@ class VolumeHoraireListe } public function getNew(): bool { return $this->new; } /** * @param bool $new * Loading @@ -413,6 +424,7 @@ class VolumeHoraireListe } /** * Détermine si, dans la liste des heures, des périodes non autorisées sont présentes */ Loading @@ -430,6 +442,7 @@ class VolumeHoraireListe } /** * Retourne la liste des types d'intervention concernés par le service */ Loading @@ -447,6 +460,7 @@ class VolumeHoraireListe } /** * * @return Periode[] Loading @@ -465,6 +479,7 @@ class VolumeHoraireListe } /** * * @return MotifNonPaiement[] Loading Loading @@ -493,6 +508,8 @@ class VolumeHoraireListe return $mnps; } /** * * @return Tag[] Loading Loading @@ -522,6 +539,7 @@ class VolumeHoraireListe } private function makeSousListeId(VolumeHoraire $vh, array $filtres = []): string { $id = []; Loading Loading @@ -555,6 +573,7 @@ class VolumeHoraireListe } /** * @param array $filtres * Loading @@ -575,6 +594,7 @@ class VolumeHoraireListe } /** * retourne une liste fille de volumes horaires */ Loading @@ -589,6 +609,7 @@ class VolumeHoraireListe } /** * @param VolumeHoraire $vh * @param array $filtres Loading Loading @@ -643,6 +664,7 @@ class VolumeHoraireListe } /** * @param VolumeHoraireListe $vhl * @param array $filtres Loading Loading @@ -695,6 +717,7 @@ class VolumeHoraireListe } public function getHeures(): float { $volumesHoraires = $this->getVolumeHoraires(); Loading @@ -707,6 +730,7 @@ class VolumeHoraireListe } public function isVolumeHoraireModifiable(VolumeHoraire $volumeHoraire): bool { return !( Loading @@ -718,6 +742,7 @@ class VolumeHoraireListe } /** * Affecte un certain nombre d'heures à la liste * Loading Loading @@ -918,6 +943,7 @@ class VolumeHoraireListe } /** * @param $heures * @param $ancienMotifNonPaiement Loading Loading @@ -947,6 +973,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime|null $horaireDebut * @param bool|\DateTime|null $horaireFin Loading Loading @@ -992,7 +1019,6 @@ class VolumeHoraireListe if ($tag !== false) { $vh->setTag($tag); } } else { $heuresAReporter += $vh->getHeures(); $rid = $this->makeSousListeId($vh, $reportFilters); Loading Loading @@ -1029,6 +1055,7 @@ class VolumeHoraireListe } /** * Détermine si la liste est vide ou non */ Loading @@ -1038,6 +1065,7 @@ class VolumeHoraireListe } /** * Retourne le nombre de volumes horaires concernés par la liste */ Loading @@ -1047,6 +1075,7 @@ class VolumeHoraireListe } /** * * @return TypeVolumeHoraire|boolean Loading @@ -1057,6 +1086,7 @@ class VolumeHoraireListe } /** * * @param TypeVolumeHoraire|boolean $typeVolumeHoraire Loading @@ -1078,6 +1108,7 @@ class VolumeHoraireListe } /** * * @return Periode|boolean Loading @@ -1088,6 +1119,7 @@ class VolumeHoraireListe } /** * * @param Periode|boolean $periode Loading @@ -1109,6 +1141,7 @@ class VolumeHoraireListe } /** * * @return TypeIntervention|boolean Loading @@ -1119,6 +1152,7 @@ class VolumeHoraireListe } /** * * @param TypeIntervention|boolean $typeIntervention Loading @@ -1140,6 +1174,7 @@ class VolumeHoraireListe } /** * @return bool|\DateTime */ Loading @@ -1149,6 +1184,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime $horaireDebut * Loading @@ -1169,6 +1205,7 @@ class VolumeHoraireListe } /** * @return bool|\DateTime */ Loading @@ -1178,6 +1215,7 @@ class VolumeHoraireListe } /** * @param bool|\DateTime $horaireFin * Loading @@ -1198,6 +1236,7 @@ class VolumeHoraireListe } /** * * @return EtatVolumeHoraire|boolean Loading @@ -1208,6 +1247,7 @@ class VolumeHoraireListe } /** * * @param EtatVolumeHoraire|boolean $etatVolumeHoraire Loading @@ -1229,6 +1269,7 @@ class VolumeHoraireListe } /** * * @return MotifNonPaiement|boolean Loading @@ -1239,6 +1280,7 @@ class VolumeHoraireListe } /** * * @param MotifNonPaiement|boolean $motifNonPaiement Loading @@ -1259,6 +1301,8 @@ class VolumeHoraireListe return $this; } /** * * @return Tag|boolean Loading @@ -1268,6 +1312,8 @@ class VolumeHoraireListe return $this->tag; } /** * * @param Tag|boolean $tag Loading @@ -1287,6 +1333,8 @@ class VolumeHoraireListe return $this; } /** * * @return Contrat|boolean Loading @@ -1297,6 +1345,7 @@ class VolumeHoraireListe } /** * * @param Contrat|boolean $contrat Loading @@ -1318,6 +1367,7 @@ class VolumeHoraireListe } /** * * @return Validation|boolean Loading @@ -1328,6 +1378,7 @@ class VolumeHoraireListe } /** * * @param Validation|boolean $validation Loading