/**
  * @EXT\Route(
  *     "cursus/course/session/{session}/confirmation/mail/send",
  *     name="claro_cursus_course_session_confirmation_mail_send",
  *     options = {"expose"=true}
  * )
  * @EXT\ParamConverter("authenticatedUser", options={"authenticatedUser" = true})
  *
  * @param CourseSession $session
  */
 public function courseSessionConfirmationMailSendAction(CourseSession $session)
 {
     $confirmationEmail = $this->cursusManager->getConfirmationEmail();
     if (!is_null($confirmationEmail)) {
         $users = [];
         $sessionUsers = $session->getSessionUsers();
         foreach ($sessionUsers as $sessionUser) {
             if ($sessionUser->getUserType() === 0) {
                 $users[] = $sessionUser->getUser();
             }
         }
         $course = $session->getCourse();
         $startDate = $session->getStartDate();
         $endDate = $session->getEndDate();
         $title = $confirmationEmail->getTitle();
         $content = $confirmationEmail->getContent();
         $title = str_replace('%course%', $course->getTitle(), $title);
         $content = str_replace('%course%', $course->getTitle(), $content);
         $title = str_replace('%session%', $session->getName(), $title);
         $content = str_replace('%session%', $session->getName(), $content);
         if (!is_null($startDate)) {
             $title = str_replace('%start_date%', $session->getStartDate(), $title);
             $content = str_replace('%start_date%', $session->getStartDate(), $content);
         }
         if (!is_null($endDate)) {
             $title = str_replace('%end_date%', $session->getEndDate(), $title);
             $content = str_replace('%end_date%', $session->getEndDate(), $content);
         }
         $this->mailManager->send($title, $content, $users);
     }
     return new JsonResponse('success', 200);
 }