Commit 964f07ca authored by Florian Joriot's avatar Florian Joriot
Browse files

Merge branch 'master' into Modularisation_Contrat_FJ_merge_master

parents 9ba55f3f 7d09811e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -240,6 +240,13 @@ class Structure implements HistoriqueAwareInterface, ResourceInterface, ImportAw



    public function getLibelle(): string
    {
        return $this->getLibelleCourt();
    }



    /**
     * Returns the string identifier of the Resource
     *
+5 −29
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ use Mission\Form\MissionFormAwareTrait;
use Mission\Form\MissionSuiviFormAwareTrait;
use Mission\Service\MissionServiceAwareTrait;
use Service\Service\TypeVolumeHoraireServiceAwareTrait;
use UnicaenVue\Axios\AxiosExtractor;
use UnicaenVue\View\Model\AxiosModel;


@@ -52,30 +51,6 @@ class SaisieController extends AbstractController



    protected function missionTriggers(): array
    {
        return [
            '/' => function (Mission $original, array $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;
            },
            '/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;
            },
        ];
    }



    /**
     * Retourne les données pour une mission
     *
@@ -91,9 +66,10 @@ class SaisieController extends AbstractController
        // Vidage du cache d'exécution Doctrine pour être sûr de bien filter les données de la mission
        $this->em()->clear();

        $query = $this->getServiceMission()->query(['mission' => $mission]);
        $model = $this->getServiceMission()->data(['mission' => $mission]);
        $model->returnFirstItem();

        return new AxiosModel(AxiosExtractor::extract($query, [], $this->missionTriggers())[0]);
        return $model;
    }


@@ -108,9 +84,9 @@ class SaisieController extends AbstractController
        /* @var $intervenant Intervenant */
        $intervenant = $this->getEvent()->getParam('intervenant');

        $query = $this->getServiceMission()->query(['intervenant' => $intervenant]);
        $model = $this->getServiceMission()->data(['intervenant' => $intervenant]);

        return new AxiosModel($query, [], $this->missionTriggers());
        return $model;
    }


+18 −4
Original line number Diff line number Diff line
@@ -70,6 +70,20 @@ class SuiviController extends AbstractController

        $query = $this->em()->createQuery($dql)->setParameters($parameters);

        $properties = [
            'id',
            ['mission', ['id', 'libelleCourt']],
            'date',
            'heureDebut',
            'heureFin',
            'heures',
            'nocturne',
            'formation',
            'description',
            'valide',
            'validation',
        ];

        $triggers = [
            '/' => function (VolumeHoraireMission $original, array $extracted) {
                $extracted['canEdit'] = $this->isAllowed($original, Privileges::MISSION_EDITION_REALISE);
@@ -81,7 +95,7 @@ class SuiviController extends AbstractController
            },
        ];

        return new AxiosModel($query, [], $triggers);
        return new AxiosModel($query, $properties, $triggers);
    }


+1 −30
Original line number Diff line number Diff line
@@ -13,9 +13,8 @@ use Laminas\Permissions\Acl\Resource\ResourceInterface;
use Paiement\Entity\Db\TauxRemu;
use UnicaenApp\Entity\HistoriqueAwareInterface;
use UnicaenApp\Entity\HistoriqueAwareTrait;
use UnicaenVue\Axios\AxiosExtractorInterface;

class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtractorInterface
class Mission implements HistoriqueAwareInterface, ResourceInterface
{
    use HistoriqueAwareTrait;
    use IntervenantAwareTrait;
@@ -52,34 +51,6 @@ class Mission implements HistoriqueAwareInterface, ResourceInterface, AxiosExtra



    public function axiosDefinition(): array
    {
        return [
            'typeMission',
            'dateDebut',
            'dateFin',
            'structure',
            'tauxRemu',
            'description',
            'histoCreation',
            'histoCreateur',
            'heures',
            'heuresValidees',
            'heuresRealisees',
            'volumesHorairesPrevus',
            ['etudiants',['id', 'code', 'nomUsuel', 'prenom', 'dateNaissance']],
            'contrat',
            'valide',
            'validation',
            'canSaisie',
            'canValider',
            'canDevalider',
            'canSupprimer',
        ];
    }



    public function getResourceId()
    {
        return 'Mission';
+1 −13
Original line number Diff line number Diff line
@@ -5,9 +5,8 @@ namespace Mission\Entity\Db;
use Application\Interfaces\ParametreEntityInterface;
use Application\Traits\ParametreEntityTrait;
use Paiement\Entity\Db\TauxRemu;
use UnicaenVue\Axios\AxiosExtractorInterface;

class TypeMission implements ParametreEntityInterface, AxiosExtractorInterface
class TypeMission implements ParametreEntityInterface
{
    use ParametreEntityTrait;

@@ -23,17 +22,6 @@ class TypeMission implements ParametreEntityInterface, AxiosExtractorInterface



    public function axiosDefinition(): array
    {
        return [
            'id',
            'libelle',
            'accompagnementEtudiants',
        ];
    }



    public function getId(): ?int
    {
        return $this->id;
Loading