/** * @EXT\Route( * "/announcement/{announcement}/send/mail", * name="claro_announcement_send_mail", * options={"expose"=true} * ) * @EXT\ParamConverter("user", converter="current_user") * @EXT\ParamConverter( * "users", * class="ClarolineCoreBundle:User", * options={"multipleIds" = true, "name" = "usersIds"} * ) * * Sends announcement by mail * * @return Response */ public function announcementSendMailAction(Announcement $announcement, array $users) { $resource = $announcement->getAggregate(); $this->checkAccess('EDIT', $resource); if (count($users) > 0) { $this->announcementManager->sendMail($announcement, $users); } return new JsonResponse('success', 200); }
public function sendMail(Announcement $announcement, $users = null) { $targets = is_null($users) ? $this->getUsersByResource($announcement->getAggregate()->getResourceNode(), 1) : $users; $workspace = $announcement->getAggregate()->getResourceNode()->getWorkspace(); $title = '[' . $workspace->getCode() . '] ' . $announcement->getTitle(); $content = $announcement->getContent() . '<br>[' . $workspace->getCode() . '] ' . $workspace->getName(); $this->mailManager->send($title, $content, $targets, $announcement->getCreator()); }