protected function sendMail(JournalItemEvent $itemEvent, $item, $action) { $journalItem = $itemEvent->getItem(); foreach ($this->ojsMailer->getJournalRelatedUsers() as $user) { $this->ojsMailer->sendToUser($user, 'A ' . $item . ' ' . $action . ' -> ' . $journalItem->getJournal()->getTitle(), 'A ' . $item . ' ' . $action . ' -> ' . $journalItem->getJournal()->getTitle() . ' -> by ' . $this->user->getUsername()); } }
protected function sendMail(JournalItemEvent $itemEvent, $item, $action) { $mailUsers = $this->em->getRepository('OjsUserBundle:User')->findUsersByJournalRole(['ROLE_JOURNAL_MANAGER', 'ROLE_EDITOR']); $journalItem = $itemEvent->getItem(); foreach ($mailUsers as $user) { $this->ojsMailer->sendToUser($user, 'A ' . $item . ' ' . $action . ' -> ' . $journalItem->getJournal()->getTitle(), 'A ' . $item . ' ' . $action . ' -> ' . $journalItem->getJournal()->getTitle() . ' -> by ' . $this->user->getUsername()); } }
/** * @param JournalItemEvent $itemEvent */ public function onArticlePostSubmit(JournalItemEvent $itemEvent) { /** @var Article $article */ $article = $itemEvent->getItem(); $submitterUser = $article->getSubmitterUser(); $this->sendMail($itemEvent, 'Article', 'Submitted'); //send mail to author $this->ojsMailer->sendToUser($submitterUser, 'Journal Event : Journal Article Submitted Success', 'Journal Event : Journal Article Submitted Success-> by ' . $submitterUser->getUsername()); }
public function sendAnnouncement(JournalItemEvent $itemEvent) { /** @var JournalAnnouncement $announcement */ $announcement = $itemEvent->getItem(); $mailList = $this->em->getRepository('OjsJournalBundle:SubscribeMailList')->findBy(['journal' => $announcement->getJournal()]); foreach ($mailList as $mail) { $this->ojsMailer->send($announcement->getTitle(), $announcement->getContent(), $mail->getMail(), $mail->getMail()); } }
/** * @param JournalItemEvent $itemEvent */ public function onJournalSubmissionFilePreDelete(JournalItemEvent $itemEvent) { $getMailEvent = $this->ojsMailer->getEventByName(JournalSubmissionFileEvents::PRE_DELETE, null, $itemEvent->getItem()->getJournal()); if (!$getMailEvent) { return; } /** @var User $user */ foreach ($this->ojsMailer->getJournalRelatedUsers() as $user) { $transformParams = ['submission.file' => (string) $itemEvent->getItem(), 'done.by' => $this->ojsMailer->currentUser()->getUsername(), 'receiver.username' => $user->getUsername(), 'receiver.fullName' => $user->getFullName()]; $template = $this->ojsMailer->transformTemplate($getMailEvent->getTemplate(), $transformParams); $this->ojsMailer->sendToUser($user, $getMailEvent->getSubject(), $template); } }
/** * @param JournalItemEvent $itemEvent */ public function onJournalUserPostAddJournal(JournalItemEvent $itemEvent) { $getMailEvent = $this->ojsMailer->getEventByName(JournalUserEvents::POST_ADD_JOURNAL, null, $itemEvent->getItem()->getJournal()); if (!$getMailEvent) { return; } /** @var User $user */ foreach ($this->ojsMailer->getJournalRelatedUsers() as $user) { $transformParams = ['journal' => (string) $itemEvent->getItem()->getJournal(), 'journal.user' => (string) $itemEvent->getItem(), 'done.by' => $this->ojsMailer->currentUser()->getUsername(), 'receiver.username' => $user->getUsername(), 'receiver.fullName' => $user->getFullName()]; $template = $this->ojsMailer->transformTemplate($getMailEvent->getTemplate(), $transformParams); $this->ojsMailer->sendToUser($user, $getMailEvent->getSubject(), $template); } }
/** * @param JournalItemEvent $itemEvent */ public function onArticlePostSubmit(JournalItemEvent $itemEvent) { /** @var Article $article */ $article = $itemEvent->getItem(); $submitterUser = $article->getSubmitterUser(); $getMailEvent = $this->ojsMailer->getEventByName(ArticleEvents::POST_SUBMIT, null, $itemEvent->getItem()->getJournal()); if (!$getMailEvent) { return; } foreach ($this->ojsMailer->getJournalRelatedUsers() as $user) { $transformParams = ['journal' => (string) $itemEvent->getItem()->getJournal(), 'article.title' => $itemEvent->getItem()->getTitle(), 'submitter.username' => $submitterUser->getUsername(), 'receiver.username' => $user->getUsername(), 'receiver.fullName' => $user->getFullName()]; $template = $this->ojsMailer->transformTemplate($getMailEvent->getTemplate(), $transformParams); $this->ojsMailer->sendToUser($user, $getMailEvent->getSubject(), $template); } //send mail to submitter user $transformParams = ['journal' => (string) $itemEvent->getItem()->getJournal(), 'article.title' => $itemEvent->getItem()->getTitle(), 'submitter.username' => $submitterUser->getUsername(), 'receiver.username' => $submitterUser->getUsername(), 'receiver.fullName' => $submitterUser->getFullName()]; $template = $this->ojsMailer->transformTemplate($getMailEvent->getTemplate(), $transformParams); $this->ojsMailer->sendToUser($submitterUser, $getMailEvent->getSubject(), $template); }
/** * Edits an existing SubmissionFile entity. * * @param Request $request * @param JournalSubmissionFile $entity * @return RedirectResponse|Response */ public function updateAction(Request $request, JournalSubmissionFile $entity) { $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $eventDispatcher = $this->get('event_dispatcher'); $this->throw404IfNotFound($entity); if (!$this->isGranted('EDIT', $journal, 'file')) { throw new AccessDeniedException("You are not authorized for view this page!"); } $em = $this->getDoctrine()->getManager(); $editForm = $this->createEditForm($entity); $editForm->handleRequest($request); if ($editForm->isValid()) { $event = new JournalItemEvent($entity); $eventDispatcher->dispatch(JournalSubmissionFileEvents::PRE_UPDATE, $event); $em->persist($event->getItem()); $em->flush(); $event = new JournalItemEvent($event->getItem()); $eventDispatcher->dispatch(JournalSubmissionFileEvents::POST_UPDATE, $event); if ($event->getResponse()) { return $event->getResponse(); } $this->successFlashBag('successful.update'); return $this->redirect($this->generateUrl('ojs_journal_file_edit', array('id' => $entity->getId(), 'journalId' => $journal->getId()))); } return $this->render('OjsJournalBundle:SubmissionFile:edit.html.twig', array('entity' => $entity, 'edit_form' => $editForm->createView())); }
/** * Edits an existing Article entity. * * @param Request $request * @param Article $article * @return RedirectResponse|Response * */ public function updateAction(Request $request, Article $article) { $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $em = $this->getDoctrine()->getManager(); if (!$this->isGranted('EDIT', $journal, 'articles')) { throw new AccessDeniedException("You not authorized for this page!"); } $dispatcher = $this->get('event_dispatcher'); $editForm = $this->createEditForm($article, $journal)->add('update', 'submit', array('label' => 'u')); $editForm->handleRequest($request); if ($editForm->isValid()) { $event = new JournalItemEvent($article); $dispatcher->dispatch(ArticleEvents::PRE_UPDATE, $event); $em->persist($event->getItem()); $em->flush(); $this->successFlashBag('successful.update'); $event = new JournalItemEvent($event->getItem()); $dispatcher->dispatch(ArticleEvents::POST_UPDATE, $event); if ($event->getResponse()) { return $event->getResponse(); } return $this->redirect($this->generateUrl('ojs_journal_article_edit', array('id' => $event->getItem()->getId(), 'journalId' => $journal->getId()))); } return $this->render('OjsJournalBundle:Article:edit.html.twig', ['entity' => $article, 'form' => $editForm->createView()]); }
/** * Edits an existing Section entity. * * @param Request $request * @param $id * @return RedirectResponse|Response */ public function updateAction(Request $request, $id) { $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $eventDispatcher = $this->get('event_dispatcher'); if (!$this->isGranted('EDIT', $journal, 'sections')) { throw new AccessDeniedException("You are not authorized for edit this journal's section!"); } $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('OjsJournalBundle:Section')->find($id); if (!$entity) { throw $this->createNotFoundException('notFound'); } $editForm = $this->createEditForm($entity); $editForm->handleRequest($request); if ($editForm->isValid()) { $event = new JournalItemEvent($entity); $eventDispatcher->dispatch(SectionEvents::PRE_UPDATE, $event); $em->persist($event->getItem()); $em->flush(); $event = new JournalItemEvent($event->getItem()); $eventDispatcher->dispatch(SectionEvents::POST_UPDATE, $event); if ($event->getResponse()) { return $event->getResponse(); } $this->successFlashBag('successful.update'); return $this->redirectToRoute('ojs_journal_section_edit', ['id' => $id, 'journalId' => $journal->getId()]); } return $this->render('OjsJournalBundle:Section:edit.html.twig', array('entity' => $entity, 'edit_form' => $editForm->createView())); }
/** * Edits an existing Lang entity. * @param Request $request * @param int $id * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function updateAction(Request $request, $id) { $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $eventDispatcher = $this->get('event_dispatcher'); /** @var JournalPage $entity */ $entity = $this->getDoctrine()->getRepository('OjsJournalBundle:JournalPage')->find($id); $this->throw404IfNotFound($entity); if (!$this->isGranted('EDIT', $journal, 'pages')) { throw new AccessDeniedException("You are not authorized for this page!"); } $em = $this->getDoctrine()->getManager(); $editForm = $this->createEditForm($entity); $editForm->handleRequest($request); if ($editForm->isValid()) { $entity->setSlug($entity->getTranslationByLocale($request->getDefaultLocale())->getTitle()); $event = new JournalItemEvent($entity); $eventDispatcher->dispatch(JournalPageEvents::PRE_UPDATE, $event); $em->persist($event->getItem()); $em->flush(); $event = new JournalItemEvent($event->getItem()); $eventDispatcher->dispatch(JournalPageEvents::POST_UPDATE, $event); if ($event->getResponse()) { return $event->getResponse(); } $this->successFlashBag('successful.update'); return $this->redirectToRoute('ojs_journal_page_edit', ['id' => $entity->getId(), 'journalId' => $journal->getId()]); } return $this->render('OjsJournalBundle:JournalPage:edit.html.twig', array('entity' => $entity, 'edit_form' => $editForm->createView())); }
/** * @param JournalItemEvent $itemEvent */ public function onJournalUserPostUpdate(JournalItemEvent $itemEvent) { /** @var JournalUser $journalUser */ $journalUser = $itemEvent->getItem(); $this->ojsMailer->sendToUser($journalUser->getUser(), 'Journal Event : Journal User Role Update', 'Journal Event : Journal User Role Update -> ' . $journalUser->getUser()->getUsername()); }
public function updateUserAction(Request $request, $id) { $journal = $this->get('ojs.journal_service')->getSelectedJournal(); $eventDispatcher = $this->get('event_dispatcher'); $em = $this->getDoctrine()->getManager(); if (!$this->isGranted('EDIT', $journal, 'userRole')) { throw new AccessDeniedException("You not authorized to remove this user from the journal."); } /** @var JournalUser $entity */ $entity = $em->getRepository('OjsJournalBundle:JournalUser')->find($id); $editForm = $this->createEditForm($entity); $editForm->handleRequest($request); if ($editForm->isValid()) { $event = new JournalItemEvent($entity); $eventDispatcher->dispatch(JournalUserEvents::PRE_UPDATE, $event); $em->persist($event->getItem()); $em->flush(); $event = new JournalItemEvent($event->getItem()); $eventDispatcher->dispatch(JournalUserEvents::POST_UPDATE, $event); if ($event->getResponse()) { return $event->getResponse(); } $this->successFlashBag('successful.update'); return $this->redirectToRoute('ojs_journal_user_index', ['journalId' => $journal->getId()]); } $this->errorFlashBag('error'); return $this->redirectToRoute('ojs_journal_user_edit', ['journalId' => $journal->getId(), 'id' => $entity->getId()]); }