Loading front/Application/UI/UCalendar.vue 0 → 100644 +95 −0 Original line number Diff line number Diff line <template> <select> <option v-for="m in listeMois()" :value="m.id">{{ m.libelle }}</option> </select> <select> <option v-for="a in listeAnnees()" :value="a">{{ a }}</option> </select> <table class="table table-bordered"> <thead> <tr> <th v-for="j in listeJours()" class="cal-th">{{ j.libelle }}</th> </tr> </thead> <tbody> <tr v-for="l in lignes()"> <td v-for="j in listeJours()" class="cal-td" :data-numero="l*7+j.id"></td> </tr> </tbody> </table> </template> <script> export default { name: 'UCalendar', props: { date: {type: Date, required: true}, }, methods: { listeJours() { let jours = []; const dateObj = new Date(); for (let i = 1; i <= 7; i++) { dateObj.setDate(dateObj.getDate() - dateObj.getDay() + (i == 7 ? 0 : i)); let nomJour = dateObj.toLocaleDateString('fr-FR', {weekday: 'long'}); jours.push({id: i, libelle: nomJour}); } return jours; }, listeMois() { let mois = []; const dateObj = new Date(); for (let i = 1; i <= 12; i++) { dateObj.setMonth(i - 1); let nomMois = dateObj.toLocaleString("fr-FR", {month: "long"}); mois.push({id: i, libelle: nomMois}); } return mois; }, listeAnnees() { const dateObj = new Date(); const annee = dateObj.getFullYear(); const range = 1; let annees = []; for (let a = annee - range; a <= annee + range; a++) { annees.push(a); } return annees; }, lignes() { return [0,1,2,3,4]; }, } } </script> <style scoped> .cal-th { width: 10%; } .cal-td { width: 10%; min-height: 10em; height: 10em; } </style> No newline at end of file front/Mission/Suivi.vue 0 → 100644 +21 −0 Original line number Diff line number Diff line <template> <u-calendar date="2023-02-01"></u-calendar> <button @click="test()">Test</button> </template> <script> export default { name: 'Suivi', methods: { test() { console.log(this.lignes()); } } } </script> <style scoped> </style> No newline at end of file front/autoload.js +1 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ export default { uIcon: 'Application/UI/UIcon', uHeures: 'Application/UI/UHeures', uModal: 'Application/UI/UModal', uCalendar: 'Application/UI/UCalendar', /* App common components */ utilisateur: 'Application/Utilisateur', Loading module/Mission/config/module.config.php +28 −45 Original line number Diff line number Diff line Loading @@ -22,19 +22,16 @@ return [ 'action' => 'index', 'privileges' => Privileges::MISSION_VISUALISATION, //'assertion' => Assertion\MissionAssertion::class, 'may_terminate' => true, 'child_routes' => [ 'modification' => [ 'route' => '/modification', ], 'missions-suivi' => [ 'route' => '/:intervenant/missions-suivi', 'controller' => MissionController::class, 'action' => 'modification', 'privileges' => Privileges::MISSION_EDITION, 'action' => 'suivi', 'privileges' => Privileges::MISSION_EDITION_REALISE, //'assertion' => Assertion\MissionAssertion::class, ], ], ], ], ], 'mission' => [ 'route' => '/mission', 'may_terminate' => false, Loading Loading @@ -67,11 +64,6 @@ return [ 'privileges' => Privileges::MISSION_EDITION, //'assertion' => Assertion\MissionAssertion::class, ], 'suivi' => [ 'route' => '/suivi/:intervenant', 'controller' => MissionController::class, 'action' => 'suivi', ], 'supprimer' => [ 'route' => '/supprimer/:mission', 'controller' => MissionController::class, Loading Loading @@ -121,17 +113,20 @@ return [ 'route' => '/missions-type', 'controller' => MissionTypeController::class, 'action' => 'index', 'privileges' => Privileges::MISSION_VISUALISATION_TYPE, 'may_terminate' => true, 'child_routes' => [ 'saisir' => [ 'route' => '/saisir[/:typeMission]', 'controller' => MissionTypeController::class, 'action' => 'saisir', 'privileges' => Privileges::MISSION_EDITION_TYPE, ], 'supprimer' => [ 'route' => '/supprimer/:typeMission', 'controller' => MissionTypeController::class, 'action' => 'supprimer', 'privileges' => Privileges::MISSION_SUPPRESSION_TYPE, ], ], ], Loading @@ -153,6 +148,18 @@ return [ 'visible' => Assertion\MissionAssertion::class, 'order' => 8, ], 'missions-suivi' => [ 'label' => "Suivi de missions", 'title' => "Suivi de missions", 'route' => 'intervenant/missions-suivi', 'paramsInject' => [ 'intervenant', ], 'workflow-etape-code' => WfEtape::CODE_MISSION_SAISIE_REALISE, 'withtarget' => true, 'visible' => Assertion\MissionAssertion::class, 'order' => 10, ], ], ], 'administration' => [ Loading @@ -174,30 +181,6 @@ return [ 'rules' => [ ], 'guards' => [ [ 'controller' => MissionTypeController::class, 'action' => ['index'], 'privileges' => [ Privileges::MISSION_VISUALISATION_TYPE, ], ], [ 'controller' => MissionTypeController::class, 'action' => ['saisir'], 'privileges' => [ Privileges::MISSION_EDITION_TYPE, ], ], [ 'controller' => MissionTypeController::class, 'action' => ['supprimer'], 'privileges' => [ Privileges::MISSION_SUPPRESSION_TYPE, ], ], ], 'controllers' => [ MissionController::class => Controller\MissionControllerFactory::class, MissionTypeController::class => Controller\MissionTypeControllerFactory::class, Loading module/Mission/src/Assertion/MissionAssertion.php +0 −2 Original line number Diff line number Diff line Loading @@ -4,9 +4,7 @@ namespace Mission\Assertion; use Application\Acl\Role; use Application\Entity\Db\Intervenant; use Application\Entity\Db\WfEtape; use Application\Provider\Privilege\Privileges; use Service\Entity\Db\TypeVolumeHoraire; use UnicaenAuth\Assertion\AbstractAssertion; use Laminas\Permissions\Acl\Resource\ResourceInterface; Loading Loading
front/Application/UI/UCalendar.vue 0 → 100644 +95 −0 Original line number Diff line number Diff line <template> <select> <option v-for="m in listeMois()" :value="m.id">{{ m.libelle }}</option> </select> <select> <option v-for="a in listeAnnees()" :value="a">{{ a }}</option> </select> <table class="table table-bordered"> <thead> <tr> <th v-for="j in listeJours()" class="cal-th">{{ j.libelle }}</th> </tr> </thead> <tbody> <tr v-for="l in lignes()"> <td v-for="j in listeJours()" class="cal-td" :data-numero="l*7+j.id"></td> </tr> </tbody> </table> </template> <script> export default { name: 'UCalendar', props: { date: {type: Date, required: true}, }, methods: { listeJours() { let jours = []; const dateObj = new Date(); for (let i = 1; i <= 7; i++) { dateObj.setDate(dateObj.getDate() - dateObj.getDay() + (i == 7 ? 0 : i)); let nomJour = dateObj.toLocaleDateString('fr-FR', {weekday: 'long'}); jours.push({id: i, libelle: nomJour}); } return jours; }, listeMois() { let mois = []; const dateObj = new Date(); for (let i = 1; i <= 12; i++) { dateObj.setMonth(i - 1); let nomMois = dateObj.toLocaleString("fr-FR", {month: "long"}); mois.push({id: i, libelle: nomMois}); } return mois; }, listeAnnees() { const dateObj = new Date(); const annee = dateObj.getFullYear(); const range = 1; let annees = []; for (let a = annee - range; a <= annee + range; a++) { annees.push(a); } return annees; }, lignes() { return [0,1,2,3,4]; }, } } </script> <style scoped> .cal-th { width: 10%; } .cal-td { width: 10%; min-height: 10em; height: 10em; } </style> No newline at end of file
front/Mission/Suivi.vue 0 → 100644 +21 −0 Original line number Diff line number Diff line <template> <u-calendar date="2023-02-01"></u-calendar> <button @click="test()">Test</button> </template> <script> export default { name: 'Suivi', methods: { test() { console.log(this.lignes()); } } } </script> <style scoped> </style> No newline at end of file
front/autoload.js +1 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ export default { uIcon: 'Application/UI/UIcon', uHeures: 'Application/UI/UHeures', uModal: 'Application/UI/UModal', uCalendar: 'Application/UI/UCalendar', /* App common components */ utilisateur: 'Application/Utilisateur', Loading
module/Mission/config/module.config.php +28 −45 Original line number Diff line number Diff line Loading @@ -22,19 +22,16 @@ return [ 'action' => 'index', 'privileges' => Privileges::MISSION_VISUALISATION, //'assertion' => Assertion\MissionAssertion::class, 'may_terminate' => true, 'child_routes' => [ 'modification' => [ 'route' => '/modification', ], 'missions-suivi' => [ 'route' => '/:intervenant/missions-suivi', 'controller' => MissionController::class, 'action' => 'modification', 'privileges' => Privileges::MISSION_EDITION, 'action' => 'suivi', 'privileges' => Privileges::MISSION_EDITION_REALISE, //'assertion' => Assertion\MissionAssertion::class, ], ], ], ], ], 'mission' => [ 'route' => '/mission', 'may_terminate' => false, Loading Loading @@ -67,11 +64,6 @@ return [ 'privileges' => Privileges::MISSION_EDITION, //'assertion' => Assertion\MissionAssertion::class, ], 'suivi' => [ 'route' => '/suivi/:intervenant', 'controller' => MissionController::class, 'action' => 'suivi', ], 'supprimer' => [ 'route' => '/supprimer/:mission', 'controller' => MissionController::class, Loading Loading @@ -121,17 +113,20 @@ return [ 'route' => '/missions-type', 'controller' => MissionTypeController::class, 'action' => 'index', 'privileges' => Privileges::MISSION_VISUALISATION_TYPE, 'may_terminate' => true, 'child_routes' => [ 'saisir' => [ 'route' => '/saisir[/:typeMission]', 'controller' => MissionTypeController::class, 'action' => 'saisir', 'privileges' => Privileges::MISSION_EDITION_TYPE, ], 'supprimer' => [ 'route' => '/supprimer/:typeMission', 'controller' => MissionTypeController::class, 'action' => 'supprimer', 'privileges' => Privileges::MISSION_SUPPRESSION_TYPE, ], ], ], Loading @@ -153,6 +148,18 @@ return [ 'visible' => Assertion\MissionAssertion::class, 'order' => 8, ], 'missions-suivi' => [ 'label' => "Suivi de missions", 'title' => "Suivi de missions", 'route' => 'intervenant/missions-suivi', 'paramsInject' => [ 'intervenant', ], 'workflow-etape-code' => WfEtape::CODE_MISSION_SAISIE_REALISE, 'withtarget' => true, 'visible' => Assertion\MissionAssertion::class, 'order' => 10, ], ], ], 'administration' => [ Loading @@ -174,30 +181,6 @@ return [ 'rules' => [ ], 'guards' => [ [ 'controller' => MissionTypeController::class, 'action' => ['index'], 'privileges' => [ Privileges::MISSION_VISUALISATION_TYPE, ], ], [ 'controller' => MissionTypeController::class, 'action' => ['saisir'], 'privileges' => [ Privileges::MISSION_EDITION_TYPE, ], ], [ 'controller' => MissionTypeController::class, 'action' => ['supprimer'], 'privileges' => [ Privileges::MISSION_SUPPRESSION_TYPE, ], ], ], 'controllers' => [ MissionController::class => Controller\MissionControllerFactory::class, MissionTypeController::class => Controller\MissionTypeControllerFactory::class, Loading
module/Mission/src/Assertion/MissionAssertion.php +0 −2 Original line number Diff line number Diff line Loading @@ -4,9 +4,7 @@ namespace Mission\Assertion; use Application\Acl\Role; use Application\Entity\Db\Intervenant; use Application\Entity\Db\WfEtape; use Application\Provider\Privilege\Privileges; use Service\Entity\Db\TypeVolumeHoraire; use UnicaenAuth\Assertion\AbstractAssertion; use Laminas\Permissions\Acl\Resource\ResourceInterface; Loading