Loading module/Mission/config/saisie.config.php +9 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,15 @@ return [ 'resources' => 'Mission', 'assertion' => Assertion\SaisieAssertion::class, ], [ 'privileges' => [ Privileges::MISSION_EDITION, Privileges::MISSION_VALIDATION, Privileges::MISSION_DEVALIDATION ], 'resources' => 'VolumeHoraireMission', 'assertion' => Assertion\SaisieAssertion::class, ], ], 'services' => [ Loading module/Mission/src/Assertion/SaisieAssertion.php +51 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Acl\Role; use Application\Entity\Db\Structure; use Application\Provider\Privilege\Privileges; use Mission\Entity\Db\Mission; use Mission\Entity\Db\VolumeHoraireMission; use UnicaenPrivilege\Assertion\AbstractAssertion; use Laminas\Permissions\Acl\Resource\ResourceInterface; Loading Loading @@ -40,6 +41,17 @@ class SaisieAssertion extends AbstractAssertion return $this->assertMissionDevalidation($role, $entity); } break; case $entity instanceof VolumeHoraireMission: switch ($privilege) { case Privileges::MISSION_EDITION: // Attention à bien avoir généré le fournisseur de privilèges si vous utilisez la gestion des privilèges d'UnicaenAuth return $this->assertVolumeHoraireEdition($role, $entity); case Privileges::MISSION_VALIDATION: return $this->assertVolumeHoraireValidation($role, $entity); case Privileges::MISSION_DEVALIDATION: return $this->assertVolumeHoraireDevalidation($role, $entity); } break; } return true; Loading Loading @@ -77,6 +89,45 @@ class SaisieAssertion extends AbstractAssertion protected function assertVolumeHoraireEdition(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canEdit(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraireValidation(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canValider(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraireDevalidation(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canDevalider(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraire(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $this->assertMission($role, $vhm->getMission()) ]); } protected function assertMission(Role $role, Mission $mission) { return $this->asserts([ Loading module/Mission/src/Controller/SaisieController.php +4 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,10 @@ class SaisieController extends AbstractController return $extracted; }, '/volumesHorairesPrevus' => function ($original, $extracted) { //$extracted['canSaisie'] = $this->isAllowed($original, Privileges::MISSION_EDITION); $extracted['canValider'] = $this->isAllowed($original, Privileges::MISSION_VALIDATION); $extracted['canDevalider'] = $this->isAllowed($original, Privileges::MISSION_DEVALIDATION); $extracted['canSupprimer'] = $this->isAllowed($original, Privileges::MISSION_EDITION); return $extracted; }, Loading module/Mission/src/Entity/Db/VolumeHoraireMission.php +10 −1 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Entity\Db\Traits\ContratAwareTrait; use Application\Entity\Db\Validation; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Laminas\Permissions\Acl\Resource\ResourceInterface; use Service\Entity\Db\TypeVolumeHoraireAwareTrait; use UnicaenApp\Entity\HistoriqueAwareInterface; use UnicaenApp\Entity\HistoriqueAwareTrait; Loading @@ -13,7 +14,7 @@ use UnicaenImport\Entity\Db\Interfaces\ImportAwareInterface; use UnicaenImport\Entity\Db\Traits\ImportAwareTrait; use UnicaenVue\Axios\AxiosExtractorInterface; class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInterface, AxiosExtractorInterface class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInterface, AxiosExtractorInterface, ResourceInterface { use HistoriqueAwareTrait; use ImportAwareTrait; Loading Loading @@ -47,6 +48,14 @@ class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInter } public function getResourceId() { return 'VolumeHoraireMission'; } public function axiosDefinition(): array { if ($this->getTypeVolumeHoraire()->isPrevu()) { Loading Loading
module/Mission/config/saisie.config.php +9 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,15 @@ return [ 'resources' => 'Mission', 'assertion' => Assertion\SaisieAssertion::class, ], [ 'privileges' => [ Privileges::MISSION_EDITION, Privileges::MISSION_VALIDATION, Privileges::MISSION_DEVALIDATION ], 'resources' => 'VolumeHoraireMission', 'assertion' => Assertion\SaisieAssertion::class, ], ], 'services' => [ Loading
module/Mission/src/Assertion/SaisieAssertion.php +51 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Acl\Role; use Application\Entity\Db\Structure; use Application\Provider\Privilege\Privileges; use Mission\Entity\Db\Mission; use Mission\Entity\Db\VolumeHoraireMission; use UnicaenPrivilege\Assertion\AbstractAssertion; use Laminas\Permissions\Acl\Resource\ResourceInterface; Loading Loading @@ -40,6 +41,17 @@ class SaisieAssertion extends AbstractAssertion return $this->assertMissionDevalidation($role, $entity); } break; case $entity instanceof VolumeHoraireMission: switch ($privilege) { case Privileges::MISSION_EDITION: // Attention à bien avoir généré le fournisseur de privilèges si vous utilisez la gestion des privilèges d'UnicaenAuth return $this->assertVolumeHoraireEdition($role, $entity); case Privileges::MISSION_VALIDATION: return $this->assertVolumeHoraireValidation($role, $entity); case Privileges::MISSION_DEVALIDATION: return $this->assertVolumeHoraireDevalidation($role, $entity); } break; } return true; Loading Loading @@ -77,6 +89,45 @@ class SaisieAssertion extends AbstractAssertion protected function assertVolumeHoraireEdition(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canEdit(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraireValidation(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canValider(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraireDevalidation(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $vhm->canDevalider(), $this->assertVolumeHoraire($role, $vhm), ]); } protected function assertVolumeHoraire(Role $role, VolumeHoraireMission $vhm) { return $this->asserts([ $this->assertMission($role, $vhm->getMission()) ]); } protected function assertMission(Role $role, Mission $mission) { return $this->asserts([ Loading
module/Mission/src/Controller/SaisieController.php +4 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,10 @@ class SaisieController extends AbstractController return $extracted; }, '/volumesHorairesPrevus' => function ($original, $extracted) { //$extracted['canSaisie'] = $this->isAllowed($original, Privileges::MISSION_EDITION); $extracted['canValider'] = $this->isAllowed($original, Privileges::MISSION_VALIDATION); $extracted['canDevalider'] = $this->isAllowed($original, Privileges::MISSION_DEVALIDATION); $extracted['canSupprimer'] = $this->isAllowed($original, Privileges::MISSION_EDITION); return $extracted; }, Loading
module/Mission/src/Entity/Db/VolumeHoraireMission.php +10 −1 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Application\Entity\Db\Traits\ContratAwareTrait; use Application\Entity\Db\Validation; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Laminas\Permissions\Acl\Resource\ResourceInterface; use Service\Entity\Db\TypeVolumeHoraireAwareTrait; use UnicaenApp\Entity\HistoriqueAwareInterface; use UnicaenApp\Entity\HistoriqueAwareTrait; Loading @@ -13,7 +14,7 @@ use UnicaenImport\Entity\Db\Interfaces\ImportAwareInterface; use UnicaenImport\Entity\Db\Traits\ImportAwareTrait; use UnicaenVue\Axios\AxiosExtractorInterface; class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInterface, AxiosExtractorInterface class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInterface, AxiosExtractorInterface, ResourceInterface { use HistoriqueAwareTrait; use ImportAwareTrait; Loading Loading @@ -47,6 +48,14 @@ class VolumeHoraireMission implements HistoriqueAwareInterface, ImportAwareInter } public function getResourceId() { return 'VolumeHoraireMission'; } public function axiosDefinition(): array { if ($this->getTypeVolumeHoraire()->isPrevu()) { Loading