Loading module/Mission/src/Entity/Db/Mapping/Mission.Entity.Db.MissionTauxRemu.dcm.xml +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ <field name="code" type="string" column="CODE" length="20" nullable="false"/> <field name="libelle" type="string" column="LIBELLE" length="50" nullable="false"/> <many-to-one field="missionTauxRemu" target-entity="Mission\Entity\Db\MissionTauxRemu"> <join-column name="MISSION_TAUX_REMU_ID" referenced-column-name="ID"/> </many-to-one> <one-to-many field="tauxRemuValeurs" target-entity="Mission\Entity\Db\MissionTauxRemuValeur" mapped-by="missionTauxRemu"> <order-by> <order-by-field name="dateEffet" direction="DESC"/> Loading module/Mission/src/Entity/Db/MissionTauxRemu.php +33 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ class MissionTauxRemu implements HistoriqueAwareInterface protected ?string $libelle = null; protected ?MissionTauxRemu $missionTauxRemu = null; protected Collection $tauxRemuValeurs; Loading Loading @@ -62,6 +64,22 @@ class MissionTauxRemu implements HistoriqueAwareInterface public function getMissionTauxRemu(): ?MissionTauxRemu { return $this->missionTauxRemu; } public function setMissionTauxRemu(?MissionTauxRemu $missionTauxRemu): MissionTauxRemu { $this->missionTauxRemu = $missionTauxRemu; return $this; } /** * @return Collection|MissionTauxRemuValeur[] */ Loading Loading @@ -133,7 +151,10 @@ class MissionTauxRemu implements HistoriqueAwareInterface return $this->getLibelle(); } public function getDerniereValeur(){ public function getDerniereValeur() { $valeurRetour = null; $valeurRetourDate = null; $valeurs = $this->tauxRemuValeurs->getValues(); Loading @@ -143,9 +164,14 @@ class MissionTauxRemu implements HistoriqueAwareInterface $valeurRetourDate = $valeur->getDateEffet(); } } return $valeurRetour; } public function getDerniereValeurDate(){ public function getDerniereValeurDate() { $valeurRetourDate = null; $valeurs = $this->tauxRemuValeurs->getValues(); foreach ($valeurs as $valeur) { Loading @@ -153,10 +179,14 @@ class MissionTauxRemu implements HistoriqueAwareInterface $valeurRetourDate = $valeur->getDateEffet(); } } return $valeurRetourDate; } public function setValeur(DateTime $date, float $valeur){ public function setValeur(DateTime $date, float $valeur) { $tauxRemuValeurProche = $this->getTauxRemuValeur($date); if ($tauxRemuValeurProche != null && $tauxRemuValeurProche->getDateEffet() == $date) { $tauxRemuValeurProche->setValeur($valeur); Loading module/Mission/src/Form/MissionTauxForm.php +37 −3 Original line number Diff line number Diff line Loading @@ -5,22 +5,27 @@ namespace Mission\Form; use Application\Filter\DateTimeFromString; use Application\Form\AbstractForm; use Application\Hydrator\GenericHydrator; use DateTime; use Laminas\Form\FormInterface; use Mission\Entity\Db\MissionTauxRemu; use Mission\Entity\Db\MissionTauxRemuValeur; use Mission\Service\MissionTauxServiceAwareTrait; use UnicaenImport\Service\Traits\SchemaServiceAwareTrait; class MissionTauxForm extends AbstractForm { use SchemaServiceAwareTrait; use MissionTauxServiceAwareTrait; public function init() { $hydratorForm = new missionTauxRemuHydrator($this->getEntityManager()); $this->setHydrator($hydratorForm); $this->spec(MissionTauxRemu::class); $this->build(); $this->setValueOptions('missionTauxRemu', $this->getServiceMissionTaux()->getTauxRemusIndexable()); $this->get('missionTauxRemu')->setEmptyOption(""); $this->get('missionTauxRemu')->setLabel('Taux de référence'); $this->add([ 'name' => 'date', 'type' => 'Date', Loading @@ -39,6 +44,31 @@ class MissionTauxForm extends AbstractForm return $this; } /** * Should return an array specification compatible with * {@link Laminas\InputFilter\Factory::createInputFilter()}. * * @return array */ public function getInputFilterSpecification() { return [ 'missionTauxRemu' => [ 'required' => false, ], 'libelle' => [ 'required' => true, ], 'code' => [ 'required' => true, ], 'date' => [ 'required' => true, ], ]; } } Loading @@ -47,6 +77,8 @@ class MissionTauxForm extends AbstractForm class missionTauxRemuHydrator extends GenericHydrator { use MissionTauxServiceAwareTrait; public function extract($object): array { Loading @@ -56,6 +88,7 @@ class missionTauxRemuHydrator extends GenericHydrator 'libelle' => $object->getLibelle(), 'valeur' => $object->getDerniereValeur(), 'date' => $object->getDerniereValeurDate(), 'missionTauxRemu' => $object->getMissionTauxRemu()?->getId(), ]; Loading @@ -69,5 +102,6 @@ class missionTauxRemuHydrator extends GenericHydrator $object->setValeur(DateTimeFromString::run($data['date']), $data['valeur']); $object->setCode($data['code']); $object->setLibelle($data['libelle']); $object->setMissionTauxRemu($this->getServiceMissionTaux()->get($data['missionTauxRemu'])); } } module/Mission/src/Form/MissionTypeForm.php +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ class MissionTypeForm extends AbstractForm $this->spec(TypeMission::class, $ignore); $this->build(); $this->setValueOptions('missionTauxRemu', $this->getServiceMissionTaux()->getTauxRemus()); $this->get('missionTauxRemu')->setEmptyOption(""); $this->get('missionTauxRemu')->setLabel('Taux par défaut'); $this->addSecurity(); $this->addSubmit(); Loading module/Mission/view/mission/mission-taux/index.phtml +7 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ $anneeSplit = explode('/', $annee); ?> <th style="text-align: center">Libelle</th> <th style="text-align: center">Code</th> <th style="text-align: center">Valeurs de l'année <?php echo $annee ?></th> <th style="text-align: center">Taux de référence</th> <?php if ($canSupprimer || $canEdit): ?> <th style="text-align: center">Action</th> <?php endif; ?> Loading Loading @@ -73,8 +74,13 @@ $anneeSplit = explode('/', $annee); ?> </a> <?php endif; ?> </td> <?php if ($canSupprimer || $canEdit): ?> <td> <?php if($tauxRemu->getMissionTauxRemu()): echo $tauxRemu->getMissionTauxRemu()->getLibelle(); endif; ?> </td> <?php if ($canSupprimer || $canEdit): ?> <td> <?php if ($canEdit): ?> <a class="ajax-modal " data-event="taux-edition" Loading @@ -82,22 +88,17 @@ $anneeSplit = explode('/', $annee); ?> title="Modifier le taux"><i class="fas fa-pen-to-square"></i></a> <?php endif; ?> <?php if ($canSupprimer): ?> <a class="pop-ajax " data-title="Suppression d'un taux" data-content="Êtes-vous sur de vouloir supprimer" data-confirm="true" data-submit-reload="true" href="<?= $this->url("missions-taux/supprimer", ['missionTauxRemu' => $tauxRemu->getId()]) ?>" title="Supprimer le taux"><i class="fas fa-trash-can"></i></a> <?php endif; ?> </td> <?php endif; ?> </tr> <?php endforeach; ?> </tbody> </table> <?php if ($canEdit): ?> <div> Loading Loading
module/Mission/src/Entity/Db/Mapping/Mission.Entity.Db.MissionTauxRemu.dcm.xml +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ <field name="code" type="string" column="CODE" length="20" nullable="false"/> <field name="libelle" type="string" column="LIBELLE" length="50" nullable="false"/> <many-to-one field="missionTauxRemu" target-entity="Mission\Entity\Db\MissionTauxRemu"> <join-column name="MISSION_TAUX_REMU_ID" referenced-column-name="ID"/> </many-to-one> <one-to-many field="tauxRemuValeurs" target-entity="Mission\Entity\Db\MissionTauxRemuValeur" mapped-by="missionTauxRemu"> <order-by> <order-by-field name="dateEffet" direction="DESC"/> Loading
module/Mission/src/Entity/Db/MissionTauxRemu.php +33 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ class MissionTauxRemu implements HistoriqueAwareInterface protected ?string $libelle = null; protected ?MissionTauxRemu $missionTauxRemu = null; protected Collection $tauxRemuValeurs; Loading Loading @@ -62,6 +64,22 @@ class MissionTauxRemu implements HistoriqueAwareInterface public function getMissionTauxRemu(): ?MissionTauxRemu { return $this->missionTauxRemu; } public function setMissionTauxRemu(?MissionTauxRemu $missionTauxRemu): MissionTauxRemu { $this->missionTauxRemu = $missionTauxRemu; return $this; } /** * @return Collection|MissionTauxRemuValeur[] */ Loading Loading @@ -133,7 +151,10 @@ class MissionTauxRemu implements HistoriqueAwareInterface return $this->getLibelle(); } public function getDerniereValeur(){ public function getDerniereValeur() { $valeurRetour = null; $valeurRetourDate = null; $valeurs = $this->tauxRemuValeurs->getValues(); Loading @@ -143,9 +164,14 @@ class MissionTauxRemu implements HistoriqueAwareInterface $valeurRetourDate = $valeur->getDateEffet(); } } return $valeurRetour; } public function getDerniereValeurDate(){ public function getDerniereValeurDate() { $valeurRetourDate = null; $valeurs = $this->tauxRemuValeurs->getValues(); foreach ($valeurs as $valeur) { Loading @@ -153,10 +179,14 @@ class MissionTauxRemu implements HistoriqueAwareInterface $valeurRetourDate = $valeur->getDateEffet(); } } return $valeurRetourDate; } public function setValeur(DateTime $date, float $valeur){ public function setValeur(DateTime $date, float $valeur) { $tauxRemuValeurProche = $this->getTauxRemuValeur($date); if ($tauxRemuValeurProche != null && $tauxRemuValeurProche->getDateEffet() == $date) { $tauxRemuValeurProche->setValeur($valeur); Loading
module/Mission/src/Form/MissionTauxForm.php +37 −3 Original line number Diff line number Diff line Loading @@ -5,22 +5,27 @@ namespace Mission\Form; use Application\Filter\DateTimeFromString; use Application\Form\AbstractForm; use Application\Hydrator\GenericHydrator; use DateTime; use Laminas\Form\FormInterface; use Mission\Entity\Db\MissionTauxRemu; use Mission\Entity\Db\MissionTauxRemuValeur; use Mission\Service\MissionTauxServiceAwareTrait; use UnicaenImport\Service\Traits\SchemaServiceAwareTrait; class MissionTauxForm extends AbstractForm { use SchemaServiceAwareTrait; use MissionTauxServiceAwareTrait; public function init() { $hydratorForm = new missionTauxRemuHydrator($this->getEntityManager()); $this->setHydrator($hydratorForm); $this->spec(MissionTauxRemu::class); $this->build(); $this->setValueOptions('missionTauxRemu', $this->getServiceMissionTaux()->getTauxRemusIndexable()); $this->get('missionTauxRemu')->setEmptyOption(""); $this->get('missionTauxRemu')->setLabel('Taux de référence'); $this->add([ 'name' => 'date', 'type' => 'Date', Loading @@ -39,6 +44,31 @@ class MissionTauxForm extends AbstractForm return $this; } /** * Should return an array specification compatible with * {@link Laminas\InputFilter\Factory::createInputFilter()}. * * @return array */ public function getInputFilterSpecification() { return [ 'missionTauxRemu' => [ 'required' => false, ], 'libelle' => [ 'required' => true, ], 'code' => [ 'required' => true, ], 'date' => [ 'required' => true, ], ]; } } Loading @@ -47,6 +77,8 @@ class MissionTauxForm extends AbstractForm class missionTauxRemuHydrator extends GenericHydrator { use MissionTauxServiceAwareTrait; public function extract($object): array { Loading @@ -56,6 +88,7 @@ class missionTauxRemuHydrator extends GenericHydrator 'libelle' => $object->getLibelle(), 'valeur' => $object->getDerniereValeur(), 'date' => $object->getDerniereValeurDate(), 'missionTauxRemu' => $object->getMissionTauxRemu()?->getId(), ]; Loading @@ -69,5 +102,6 @@ class missionTauxRemuHydrator extends GenericHydrator $object->setValeur(DateTimeFromString::run($data['date']), $data['valeur']); $object->setCode($data['code']); $object->setLibelle($data['libelle']); $object->setMissionTauxRemu($this->getServiceMissionTaux()->get($data['missionTauxRemu'])); } }
module/Mission/src/Form/MissionTypeForm.php +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ class MissionTypeForm extends AbstractForm $this->spec(TypeMission::class, $ignore); $this->build(); $this->setValueOptions('missionTauxRemu', $this->getServiceMissionTaux()->getTauxRemus()); $this->get('missionTauxRemu')->setEmptyOption(""); $this->get('missionTauxRemu')->setLabel('Taux par défaut'); $this->addSecurity(); $this->addSubmit(); Loading
module/Mission/view/mission/mission-taux/index.phtml +7 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ $anneeSplit = explode('/', $annee); ?> <th style="text-align: center">Libelle</th> <th style="text-align: center">Code</th> <th style="text-align: center">Valeurs de l'année <?php echo $annee ?></th> <th style="text-align: center">Taux de référence</th> <?php if ($canSupprimer || $canEdit): ?> <th style="text-align: center">Action</th> <?php endif; ?> Loading Loading @@ -73,8 +74,13 @@ $anneeSplit = explode('/', $annee); ?> </a> <?php endif; ?> </td> <?php if ($canSupprimer || $canEdit): ?> <td> <?php if($tauxRemu->getMissionTauxRemu()): echo $tauxRemu->getMissionTauxRemu()->getLibelle(); endif; ?> </td> <?php if ($canSupprimer || $canEdit): ?> <td> <?php if ($canEdit): ?> <a class="ajax-modal " data-event="taux-edition" Loading @@ -82,22 +88,17 @@ $anneeSplit = explode('/', $annee); ?> title="Modifier le taux"><i class="fas fa-pen-to-square"></i></a> <?php endif; ?> <?php if ($canSupprimer): ?> <a class="pop-ajax " data-title="Suppression d'un taux" data-content="Êtes-vous sur de vouloir supprimer" data-confirm="true" data-submit-reload="true" href="<?= $this->url("missions-taux/supprimer", ['missionTauxRemu' => $tauxRemu->getId()]) ?>" title="Supprimer le taux"><i class="fas fa-trash-can"></i></a> <?php endif; ?> </td> <?php endif; ?> </tr> <?php endforeach; ?> </tbody> </table> <?php if ($canEdit): ?> <div> Loading