Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- Méthode côté front en .ts
- public submitReport = (year: number, month: number, rawData: Object): Promise<void> => {
- return this.doSave(year, month, rawData, null).combineLatest(
- this.rest.add('reports/me/' + year + '/' + (month + 1) + '/submit', {})
- ).toPromise().then(obs => {
- this.notif.success('Compte rendu ' + (month + 1) + '/' + year + ' sauvegardé et soumis pour validation.', 'Validation');
- }).catch(e => {
- this.notif.error('Le compte rendu ' + (month + 1) + '/' + year + ' a été refusé.', 'Compte rendu invalide');
- });
- }
- public add(entity: string, item: any): Observable<any> {
- let toAdd = JSON.stringify(item);
- this.clearCache(entity + '/');
- return this.http.post(this.getActionUrl(entity), toAdd, { headers: this.headers })
- .map((response: Response) => {
- if (response.status === 200 || response.status === 201)
- return response.text;
- })
- .catch(this.handleError);
- }
- Méthode POST en .php
- /**
- * @Rest\View()
- * @Rest\Post("/api/leaves/me/submit")
- * @Rest\Post("/api/leaves/me/submit/")
- */
- public function createAction(Request $request)
- {
- $datefrom = new \DateTime($request->get('datefrom'));
- $dateto = new \DateTime($request->get('dateto'));
- $nbjour = $request->get('nbjour');
- $type = $request->get('type');
- //Récupération des infos via Doctrine
- $user = $this->getUser();
- $em = $this->getDoctrine()->getManager();
- //ici mettre la logique permettant de vérifier le solde congés user
- //If $user->getSolde[congestype] > 0
- $em->getConnection()->beginTransaction();
- try {
- //Création des nouvelles tables pour l'enregistrement des données dans la base
- $congesprit = new Entity\CongesPris();
- $congestype = new Entity\CongesType();
- $congescompteur = new Entity\CongesCompteur();
- //Assignation des valeurs des champs de la table en fonction de la demande de congés
- //Table congesprit
- $congesprit->setDatedebut($datefrom);
- $congesprit->setDatefin($dateto);
- $congesprit->setNbcongesprit($nbjour);
- $congesprit->setStatut(Entity\CongesPris::STATUS_SUBMITTED);
- $congesprit->setUser($user);
- //Table congestype
- $congestype->setType($type);
- $congestype->setCongespris($congesprit);
- $congestype->setCongesCompteur($congescompteur);
- //Table congescompteur
- $congescompteur->setUser($user);
- $em->persist($congesprit);
- $em->persist($congestype);
- $em->persist($congescompteur);
- $em->flush();
- $em->getConnection()->commit();
- } catch (Exception $e) {
- $em->getConnection()->rollback();
- throw $e;
- }
- return new Response('', Response::HTTP_CREATED);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement