Loading code/test2.php +8 −37 Original line number Diff line number Diff line <?php use Unicaen\OpenDocument\Calc; /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Laminas\Mvc\Controller\AbstractController Loading @@ -10,42 +8,15 @@ use Unicaen\OpenDocument\Calc; * @var $viewFile string */ ?> <select class="form-select"> <option selected>Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <h2>bootstrap-select</h2> <select id="test"> <option selected>Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown button </button> <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </div> $controller->flashMessenger()->addSuccessMessage('addSuccessMessage'); $controller->flashMessenger()->addInfoMessage('addInfoMessage'); $controller->flashMessenger()->addWarningMessage('addWarningMessage'); $controller->flashMessenger()->addErrorMessage('addErrorMessage'); <script> $messenger = $this->messenger(); $(function () { $('#test').selectpicker(); }); $messenger->addCurrentMessagesFromFlashMessengerWithNamespace('error'); </script> echo $messenger; <?php echo $this->vue('exemple/mon-test'); echo $this->vue('application/utilisateur', ['valeur' => 12.0]); No newline at end of file ?> composer.json +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ ], "require" : { "php" : ">=8.0", "unicaen/app" : "6.0.5", "unicaen/app" : "6.0.6", "unicaen/authentification" : "6.0.3", "unicaen/privilege" : "6.0.1", "unicaen/utilisateur" : "6.0.4", Loading composer.lock +40 −40 Original line number Diff line number Diff line Loading @@ -460,16 +460,16 @@ }, { "name": "doctrine/dbal", "version": "3.6.1", "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e" "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/dbal/zipball/57815c7bbcda3cd18871d253c1dd8cbe56f8526e", "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e", "url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c", "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c", "shasum": "" }, "require": { Loading @@ -485,9 +485,9 @@ "doctrine/coding-standard": "11.1.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2022.3", "phpstan/phpstan": "1.10.3", "phpstan/phpstan": "1.10.9", "phpstan/phpstan-strict-rules": "^1.5", "phpunit/phpunit": "9.6.4", "phpunit/phpunit": "9.6.6", "psalm/plugin-phpunit": "0.18.4", "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^5.4|^6.0", Loading Loading @@ -552,7 +552,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", "source": "https://github.com/doctrine/dbal/tree/3.6.1" "source": "https://github.com/doctrine/dbal/tree/3.6.2" }, "funding": [ { Loading @@ -568,7 +568,7 @@ "type": "tidelift" } ], "time": "2023-03-02T19:26:24+00:00" "time": "2023-04-14T07:25:38+00:00" }, { "name": "doctrine/deprecations", Loading Loading @@ -1271,16 +1271,16 @@ }, { "name": "doctrine/orm", "version": "2.14.1", "version": "2.14.3", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e" "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/orm/zipball/de7eee5ed7b1b35c99b118f26f210a8281e6db8e", "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e", "url": "https://api.github.com/repos/doctrine/orm/zipball/a64f315dfeae5e50b17f132626fd9e9b4ec8985d", "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d", "shasum": "" }, "require": { Loading Loading @@ -1309,14 +1309,14 @@ "doctrine/annotations": "^1.13 || ^2", "doctrine/coding-standard": "^9.0.2 || ^11.0", "phpbench/phpbench": "^0.16.10 || ^1.0", "phpstan/phpstan": "~1.4.10 || 1.9.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", "phpstan/phpstan": "~1.4.10 || 1.10.6", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.1", "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^4.4 || ^5.4 || ^6.0", "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2", "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", "vimeo/psalm": "4.30.0 || 5.4.0" "vimeo/psalm": "4.30.0 || 5.9.0" }, "suggest": { "ext-dom": "Provides support for XSD validation for XML mapping files", Loading Loading @@ -1366,9 +1366,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", "source": "https://github.com/doctrine/orm/tree/2.14.1" "source": "https://github.com/doctrine/orm/tree/2.14.3" }, "time": "2023-01-16T18:36:59+00:00" "time": "2023-04-20T09:46:32+00:00" }, { "name": "doctrine/persistence", Loading Loading @@ -5229,26 +5229,26 @@ }, { "name": "php-http/message-factory", "version": "v1.0.2", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-http/message-factory.git", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57", "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57", "shasum": "" }, "require": { "php": ">=5.4", "psr/http-message": "^1.0" "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" "dev-master": "1.x-dev" } }, "autoload": { Loading Loading @@ -5277,9 +5277,9 @@ ], "support": { "issues": "https://github.com/php-http/message-factory/issues", "source": "https://github.com/php-http/message-factory/tree/master" "source": "https://github.com/php-http/message-factory/tree/1.1.0" }, "time": "2015-12-19T14:08:53+00:00" "time": "2023-04-14T14:16:17+00:00" }, { "name": "psr/cache", Loading Loading @@ -7298,7 +7298,7 @@ "source": { "type": "git", "url": "https://git.unicaen.fr/lib/unicaen/vue.git", "reference": "d97686f3adfd79a11046229ea84f005ad6b35462" "reference": "367aa23bbafb44b9da51605e8d2ce38ac49deace" }, "type": "library", "autoload": { Loading @@ -7310,7 +7310,7 @@ ] }, "description": "Module pour utiliser Vue.js", "time": "2023-04-06T13:55:38+00:00" "time": "2023-04-26T07:54:05+00:00" }, { "name": "unicaen/zfc-user", Loading Loading @@ -7792,16 +7792,16 @@ }, { "name": "netresearch/jsonmapper", "version": "v4.1.0", "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f" "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", "shasum": "" }, "require": { Loading Loading @@ -7837,9 +7837,9 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0" "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0" }, "time": "2022-12-08T20:46:14+00:00" "time": "2023-04-09T17:37:40+00:00" }, { "name": "pdepend/pdepend", Loading Loading @@ -8292,16 +8292,16 @@ }, { "name": "phpstan/phpdoc-parser", "version": "1.18.0", "version": "1.20.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", "reference": "882eabc9b6a12e25c27091a261397f9c8792e722" "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/882eabc9b6a12e25c27091a261397f9c8792e722", "reference": "882eabc9b6a12e25c27091a261397f9c8792e722", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6c04009f6cae6eda2f040745b6b846080ef069c2", "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2", "shasum": "" }, "require": { Loading Loading @@ -8331,9 +8331,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", "source": "https://github.com/phpstan/phpdoc-parser/tree/1.18.0" "source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.3" }, "time": "2023-04-06T07:26:43+00:00" "time": "2023-04-25T09:01:03+00:00" }, { "name": "sabre/event", Loading front/Mission/Liste.vue +13 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ export default { { return { missions: [], isMounted: false, ajoutUrl: unicaenVue.url('mission/ajout/:intervenant', {intervenant: this.intervenant}) }; }, Loading @@ -38,9 +39,10 @@ export default { this.reload(); }, refresh(mission) {console.log(mission); { let index = Util.json.indexById(this.missions, mission.id); this.missions[index] = mission; this.refreshPlafonds(); }, reload() { Loading @@ -48,8 +50,18 @@ export default { unicaenVue.url("mission/liste/:intervenant", {intervenant: this.intervenant}) ).then(response => { this.missions = response.data; this.refreshPlafonds(); }); }, refreshPlafonds() { if (this.isMounted) { // Mise à jour des plafonds $(".plafonds").refresh(); }else{ this.isMounted = true; } }, } } </script> Loading module/Mission/src/Controller/SaisieController.php +45 −11 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Mission\Entity\Db\VolumeHoraireMission; use Mission\Form\MissionFormAwareTrait; use Mission\Form\MissionSuiviFormAwareTrait; use Mission\Service\MissionServiceAwareTrait; use Plafond\Processus\PlafondProcessusAwareTrait; use Service\Service\TypeVolumeHoraireServiceAwareTrait; use UnicaenVue\View\Model\AxiosModel; Loading @@ -33,6 +34,7 @@ class SaisieController extends AbstractController use WorkflowServiceAwareTrait; use MissionSuiviFormAwareTrait; use TypeVolumeHoraireServiceAwareTrait; use PlafondProcessusAwareTrait; /** * Page d'index des missions Loading @@ -46,7 +48,9 @@ class SaisieController extends AbstractController $canAddMission = $this->isAllowed(Privileges::getResourceId(Privileges::MISSION_EDITION)); return compact('intervenant', 'canAddMission'); $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); return compact('intervenant', 'canAddMission', 'typeVolumeHoraire'); } Loading Loading @@ -137,10 +141,24 @@ class SaisieController extends AbstractController if ($this->getServiceContext()->getStructure()) { $form->remove('structure'); } $form->bindRequestSave($mission, $this->getRequest(), function ($mission) { $hDeb = $mission->getHeures(); $form->bindRequestSave($mission, $this->getRequest(), function ($mission) use($hDeb) { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->save($mission); $hFin = $mission->getHeures(); $this->updateTableauxBord($mission); if (!$this->getProcessusPlafond()->endTransaction($mission->getIntervenant(), $typeVolumeHoraire, $hFin < $hDeb)) { $this->updateTableauxBord($mission); }else{ $this->flashMessenger()->addSuccessMessage('Mission bien enregistrée'); } } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); $this->em()->rollback(); } }); // on passe le data-id pour pouvoir le récupérer dans la vue et mettre à jour la liste $form->setAttribute('data-id', $mission->getId()); Loading @@ -156,12 +174,20 @@ class SaisieController extends AbstractController public function supprimerAction() { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); /** @var Mission $mission */ $mission = $this->getEvent()->getParam('mission'); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->delete($mission); $this->updateTableauxBord($mission); $this->flashMessenger()->addSuccessMessage("Mission supprimée avec succès."); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } $this->getProcessusPlafond()->endTransaction($mission->getIntervenant(), $typeVolumeHoraire, true); return new AxiosModel([]); } Loading Loading @@ -213,9 +239,17 @@ class SaisieController extends AbstractController /** @var VolumeHoraireMission $volumeHoraireMission */ $volumeHoraireMission = $this->getEvent()->getParam('volumeHoraireMission'); $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->deleteVolumeHoraire($volumeHoraireMission); $this->updateTableauxBord($volumeHoraireMission->getMission()); $this->flashMessenger()->addSuccessMessage("Volume horaire supprimé avec succès."); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } $this->getProcessusPlafond()->endTransaction($volumeHoraireMission->getMission()->getIntervenant(), $typeVolumeHoraire, true); return $this->getAction($volumeHoraireMission->getMission()); } Loading Loading
code/test2.php +8 −37 Original line number Diff line number Diff line <?php use Unicaen\OpenDocument\Calc; /** * @var $this \Application\View\Renderer\PhpRenderer * @var $controller \Laminas\Mvc\Controller\AbstractController Loading @@ -10,42 +8,15 @@ use Unicaen\OpenDocument\Calc; * @var $viewFile string */ ?> <select class="form-select"> <option selected>Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <h2>bootstrap-select</h2> <select id="test"> <option selected>Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select> <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown button </button> <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </div> $controller->flashMessenger()->addSuccessMessage('addSuccessMessage'); $controller->flashMessenger()->addInfoMessage('addInfoMessage'); $controller->flashMessenger()->addWarningMessage('addWarningMessage'); $controller->flashMessenger()->addErrorMessage('addErrorMessage'); <script> $messenger = $this->messenger(); $(function () { $('#test').selectpicker(); }); $messenger->addCurrentMessagesFromFlashMessengerWithNamespace('error'); </script> echo $messenger; <?php echo $this->vue('exemple/mon-test'); echo $this->vue('application/utilisateur', ['valeur' => 12.0]); No newline at end of file ?>
composer.json +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ ], "require" : { "php" : ">=8.0", "unicaen/app" : "6.0.5", "unicaen/app" : "6.0.6", "unicaen/authentification" : "6.0.3", "unicaen/privilege" : "6.0.1", "unicaen/utilisateur" : "6.0.4", Loading
composer.lock +40 −40 Original line number Diff line number Diff line Loading @@ -460,16 +460,16 @@ }, { "name": "doctrine/dbal", "version": "3.6.1", "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e" "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/dbal/zipball/57815c7bbcda3cd18871d253c1dd8cbe56f8526e", "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e", "url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c", "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c", "shasum": "" }, "require": { Loading @@ -485,9 +485,9 @@ "doctrine/coding-standard": "11.1.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2022.3", "phpstan/phpstan": "1.10.3", "phpstan/phpstan": "1.10.9", "phpstan/phpstan-strict-rules": "^1.5", "phpunit/phpunit": "9.6.4", "phpunit/phpunit": "9.6.6", "psalm/plugin-phpunit": "0.18.4", "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^5.4|^6.0", Loading Loading @@ -552,7 +552,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", "source": "https://github.com/doctrine/dbal/tree/3.6.1" "source": "https://github.com/doctrine/dbal/tree/3.6.2" }, "funding": [ { Loading @@ -568,7 +568,7 @@ "type": "tidelift" } ], "time": "2023-03-02T19:26:24+00:00" "time": "2023-04-14T07:25:38+00:00" }, { "name": "doctrine/deprecations", Loading Loading @@ -1271,16 +1271,16 @@ }, { "name": "doctrine/orm", "version": "2.14.1", "version": "2.14.3", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e" "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/orm/zipball/de7eee5ed7b1b35c99b118f26f210a8281e6db8e", "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e", "url": "https://api.github.com/repos/doctrine/orm/zipball/a64f315dfeae5e50b17f132626fd9e9b4ec8985d", "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d", "shasum": "" }, "require": { Loading Loading @@ -1309,14 +1309,14 @@ "doctrine/annotations": "^1.13 || ^2", "doctrine/coding-standard": "^9.0.2 || ^11.0", "phpbench/phpbench": "^0.16.10 || ^1.0", "phpstan/phpstan": "~1.4.10 || 1.9.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", "phpstan/phpstan": "~1.4.10 || 1.10.6", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.1", "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^4.4 || ^5.4 || ^6.0", "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2", "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", "vimeo/psalm": "4.30.0 || 5.4.0" "vimeo/psalm": "4.30.0 || 5.9.0" }, "suggest": { "ext-dom": "Provides support for XSD validation for XML mapping files", Loading Loading @@ -1366,9 +1366,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", "source": "https://github.com/doctrine/orm/tree/2.14.1" "source": "https://github.com/doctrine/orm/tree/2.14.3" }, "time": "2023-01-16T18:36:59+00:00" "time": "2023-04-20T09:46:32+00:00" }, { "name": "doctrine/persistence", Loading Loading @@ -5229,26 +5229,26 @@ }, { "name": "php-http/message-factory", "version": "v1.0.2", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-http/message-factory.git", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57", "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57", "shasum": "" }, "require": { "php": ">=5.4", "psr/http-message": "^1.0" "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" "dev-master": "1.x-dev" } }, "autoload": { Loading Loading @@ -5277,9 +5277,9 @@ ], "support": { "issues": "https://github.com/php-http/message-factory/issues", "source": "https://github.com/php-http/message-factory/tree/master" "source": "https://github.com/php-http/message-factory/tree/1.1.0" }, "time": "2015-12-19T14:08:53+00:00" "time": "2023-04-14T14:16:17+00:00" }, { "name": "psr/cache", Loading Loading @@ -7298,7 +7298,7 @@ "source": { "type": "git", "url": "https://git.unicaen.fr/lib/unicaen/vue.git", "reference": "d97686f3adfd79a11046229ea84f005ad6b35462" "reference": "367aa23bbafb44b9da51605e8d2ce38ac49deace" }, "type": "library", "autoload": { Loading @@ -7310,7 +7310,7 @@ ] }, "description": "Module pour utiliser Vue.js", "time": "2023-04-06T13:55:38+00:00" "time": "2023-04-26T07:54:05+00:00" }, { "name": "unicaen/zfc-user", Loading Loading @@ -7792,16 +7792,16 @@ }, { "name": "netresearch/jsonmapper", "version": "v4.1.0", "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f" "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", "shasum": "" }, "require": { Loading Loading @@ -7837,9 +7837,9 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0" "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0" }, "time": "2022-12-08T20:46:14+00:00" "time": "2023-04-09T17:37:40+00:00" }, { "name": "pdepend/pdepend", Loading Loading @@ -8292,16 +8292,16 @@ }, { "name": "phpstan/phpdoc-parser", "version": "1.18.0", "version": "1.20.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", "reference": "882eabc9b6a12e25c27091a261397f9c8792e722" "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/882eabc9b6a12e25c27091a261397f9c8792e722", "reference": "882eabc9b6a12e25c27091a261397f9c8792e722", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6c04009f6cae6eda2f040745b6b846080ef069c2", "reference": "6c04009f6cae6eda2f040745b6b846080ef069c2", "shasum": "" }, "require": { Loading Loading @@ -8331,9 +8331,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", "source": "https://github.com/phpstan/phpdoc-parser/tree/1.18.0" "source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.3" }, "time": "2023-04-06T07:26:43+00:00" "time": "2023-04-25T09:01:03+00:00" }, { "name": "sabre/event", Loading
front/Mission/Liste.vue +13 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ export default { { return { missions: [], isMounted: false, ajoutUrl: unicaenVue.url('mission/ajout/:intervenant', {intervenant: this.intervenant}) }; }, Loading @@ -38,9 +39,10 @@ export default { this.reload(); }, refresh(mission) {console.log(mission); { let index = Util.json.indexById(this.missions, mission.id); this.missions[index] = mission; this.refreshPlafonds(); }, reload() { Loading @@ -48,8 +50,18 @@ export default { unicaenVue.url("mission/liste/:intervenant", {intervenant: this.intervenant}) ).then(response => { this.missions = response.data; this.refreshPlafonds(); }); }, refreshPlafonds() { if (this.isMounted) { // Mise à jour des plafonds $(".plafonds").refresh(); }else{ this.isMounted = true; } }, } } </script> Loading
module/Mission/src/Controller/SaisieController.php +45 −11 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Mission\Entity\Db\VolumeHoraireMission; use Mission\Form\MissionFormAwareTrait; use Mission\Form\MissionSuiviFormAwareTrait; use Mission\Service\MissionServiceAwareTrait; use Plafond\Processus\PlafondProcessusAwareTrait; use Service\Service\TypeVolumeHoraireServiceAwareTrait; use UnicaenVue\View\Model\AxiosModel; Loading @@ -33,6 +34,7 @@ class SaisieController extends AbstractController use WorkflowServiceAwareTrait; use MissionSuiviFormAwareTrait; use TypeVolumeHoraireServiceAwareTrait; use PlafondProcessusAwareTrait; /** * Page d'index des missions Loading @@ -46,7 +48,9 @@ class SaisieController extends AbstractController $canAddMission = $this->isAllowed(Privileges::getResourceId(Privileges::MISSION_EDITION)); return compact('intervenant', 'canAddMission'); $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); return compact('intervenant', 'canAddMission', 'typeVolumeHoraire'); } Loading Loading @@ -137,10 +141,24 @@ class SaisieController extends AbstractController if ($this->getServiceContext()->getStructure()) { $form->remove('structure'); } $form->bindRequestSave($mission, $this->getRequest(), function ($mission) { $hDeb = $mission->getHeures(); $form->bindRequestSave($mission, $this->getRequest(), function ($mission) use($hDeb) { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->save($mission); $hFin = $mission->getHeures(); $this->updateTableauxBord($mission); if (!$this->getProcessusPlafond()->endTransaction($mission->getIntervenant(), $typeVolumeHoraire, $hFin < $hDeb)) { $this->updateTableauxBord($mission); }else{ $this->flashMessenger()->addSuccessMessage('Mission bien enregistrée'); } } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); $this->em()->rollback(); } }); // on passe le data-id pour pouvoir le récupérer dans la vue et mettre à jour la liste $form->setAttribute('data-id', $mission->getId()); Loading @@ -156,12 +174,20 @@ class SaisieController extends AbstractController public function supprimerAction() { $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); /** @var Mission $mission */ $mission = $this->getEvent()->getParam('mission'); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->delete($mission); $this->updateTableauxBord($mission); $this->flashMessenger()->addSuccessMessage("Mission supprimée avec succès."); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } $this->getProcessusPlafond()->endTransaction($mission->getIntervenant(), $typeVolumeHoraire, true); return new AxiosModel([]); } Loading Loading @@ -213,9 +239,17 @@ class SaisieController extends AbstractController /** @var VolumeHoraireMission $volumeHoraireMission */ $volumeHoraireMission = $this->getEvent()->getParam('volumeHoraireMission'); $typeVolumeHoraire = $this->getServiceTypeVolumeHoraire()->getPrevu(); $this->getProcessusPlafond()->beginTransaction(); try { $this->getServiceMission()->deleteVolumeHoraire($volumeHoraireMission); $this->updateTableauxBord($volumeHoraireMission->getMission()); $this->flashMessenger()->addSuccessMessage("Volume horaire supprimé avec succès."); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($this->translate($e)); } $this->getProcessusPlafond()->endTransaction($volumeHoraireMission->getMission()->getIntervenant(), $typeVolumeHoraire, true); return $this->getAction($volumeHoraireMission->getMission()); } Loading