From f40eb596b43fd290007abbdf7b2a853dd2a3dcfe Mon Sep 17 00:00:00 2001 From: Baptiste Lemoine Date: Thu, 16 Apr 2020 18:14:59 +0200 Subject: [PATCH] add other mails --- src/Controller/CommentController.php | 5 ++- src/Controller/FramadateController.php | 42 ++++++++++++++++++++++++++ src/Controller/VoteController.php | 6 ++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/src/Controller/CommentController.php b/src/Controller/CommentController.php index 1cbceb5..9a5c690 100644 --- a/src/Controller/CommentController.php +++ b/src/Controller/CommentController.php @@ -115,7 +115,10 @@ class CommentController extends FramadateController { $em->persist( $comment ); $em->flush(); - $this->mail_service->sendCommentNotification($comment); + if($poll->getMailOnComment()){ + $this->sendCommentNotificationAction($foundOwner, $comment); + } + return $this->json( [ 'message' => 'you created a comment', diff --git a/src/Controller/FramadateController.php b/src/Controller/FramadateController.php index 4faf3ac..df496da 100644 --- a/src/Controller/FramadateController.php +++ b/src/Controller/FramadateController.php @@ -106,4 +106,46 @@ class FramadateController extends AbstractController { return $this->sendMailWithVars( $config ); } + + /** + * @param Owner $owner + * @param $comment + * + * @return int + * @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface + */ + public function sendCommentNotificationAction( Owner $owner, $comment ) { + + $config = [ + 'owner' => $owner, + 'comment' => $comment, + 'poll' => $comment->getPoll(), + 'title' => 'Framadate | Commentaire de "' . $owner->getPseudo() . '" - sondage ' . $comment->getPoll()->getTitle(), + 'email_template' => 'emails/comment-notification.html.twig', + ]; + $this->sendMailWithVars( $config ); + + return 1; + } + + /** + * @param Owner $owner + * @param $stackOfVotes + * + * @return int + * @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface + */ + public function sendVoteNotificationAction( Owner $owner, $stackOfVotes ) { + + $config = [ + 'owner' => $owner, + 'comment' => $stackOfVotes, + 'poll' => $stackOfVotes->getPoll(), + 'title' => 'Framadate | Vote de "' . $owner->getPseudo() . '" - sondage ' . $stackOfVotes->getPoll()->getTitle(), + 'email_template' => 'emails/vote-notification.html.twig', + ]; + $this->sendMailWithVars( $config ); + + return 1; + } } diff --git a/src/Controller/VoteController.php b/src/Controller/VoteController.php index a3b3241..41fb41d 100644 --- a/src/Controller/VoteController.php +++ b/src/Controller/VoteController.php @@ -119,6 +119,12 @@ class VoteController extends FramadateController { $choices[] = $c->display(); } + + if($poll->getMailOnVote()){ + $this->sendVoteNotificationAction($stack->getOwner(), $stack); + } + + return $this->json( [ 'message' => 'you created a vote stack' . $precision, 'poll' => $poll,