From 00a4ad9784ce1728d6d7ce721a709bcfd59e9ef8 Mon Sep 17 00:00:00 2001 From: mckmonster Date: Mon, 29 Jul 2024 18:50:23 +0200 Subject: [PATCH] =?UTF-8?q?[Absence]=20Creation=20entr=C3=A9e=20bazar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/ApiController.php | 15 +++++++++++- services/AbsenceManager.php | 40 ++++++++++++++++++++++++++++++++ templates/edu_creer_absence.twig | 6 ++--- 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 services/AbsenceManager.php diff --git a/controllers/ApiController.php b/controllers/ApiController.php index d60637e..f2ff5bb 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -8,6 +8,7 @@ use Symfony\Component\Routing\Annotation\Route; use YesWiki\Core\ApiResponse; use YesWiki\Core\YesWikiController; use YesWiki\Meeo\Controle\Controle; +use YesWiki\Meeo\Service\AbsenceManager; use YesWiki\Meeo\Service\EleveManager; use YesWiki\Meeo\Service\NoteManager; @@ -71,10 +72,22 @@ class ApiController extends YesWikiController * @Route("/api/meeo/absence",methods={"POST"},options={"acl":{"public"}}) */ public function absence(Request $request) { - // $noteManager = $this->getService(NoteManager::class); $content = $request->getContent(); parse_str($content, $parameters); + // Créer l'absence dans bazar + $eleve = $this->getService(EleveManager::class)->getEleve($parameters['eleve']); + $absenceManager = $this->getService(AbsenceManager::class); + $absenceManager->create($eleve, $parameters['date_debut_absence'], $parameters['date_fin_absence'], $parameters['justification']); + + // Récupération de l'expéditeur + + // Récupération du destinataire + + // Génération du rendu du mail + + // Envoi de mail à la personne qui a été absente + return new ApiResponse($parameters); // return $this->wiki->redirect($this->redirectParams['absence'], 200); } diff --git a/services/AbsenceManager.php b/services/AbsenceManager.php new file mode 100644 index 0000000..863a37a --- /dev/null +++ b/services/AbsenceManager.php @@ -0,0 +1,40 @@ +wiki = $wiki; + $this->params = $params; + $this->entryManager = $entryManager; + + $this->formId = $params->get('meeo')['absencesFormId']; + $this->eleveFormId = $params->get('meeo')['elevesFormId']; + } + + public function create(Eleve $eleve, $debut, $fin, $justification) { + $data = [ + 'bf_titre' => 'Absence : '.$eleve->getId().' - '.$debut, + 'listefiche'.$this->eleveFormId.'bf_eleve' => $eleve->getId(), + 'bf_date_debut' => $debut, + 'bf_date_fin' => $fin, + 'bf_commentaire' => $justification, + 'antispam' => true + ]; + + // echo var_dump($data); + $this->entryManager->create($this->formId, $data); + } +} \ No newline at end of file diff --git a/templates/edu_creer_absence.twig b/templates/edu_creer_absence.twig index d42fe0e..1938416 100644 --- a/templates/edu_creer_absence.twig +++ b/templates/edu_creer_absence.twig @@ -21,10 +21,10 @@ -
- +
+
- +