/** * @param Journal $journal * @return bool|null */ private function normalizeLastIssuesByJournal(Journal $journal) { $this->io->newLine(); $this->io->text('normalizing last issue for ' . $journal->getTitle()); $this->io->progressAdvance(); $findLastIssue = $this->em->getRepository('OjsJournalBundle:Issue')->findOneBy(['journal' => $journal, 'lastIssue' => true]); if ($findLastIssue) { return true; } /** @var Issue|null $getLogicalLastIssue */ $getLogicalLastIssue = $this->em->getRepository('OjsJournalBundle:Issue')->getLastIssueByJournal($journal); if ($getLogicalLastIssue == null) { return null; } $getLogicalLastIssue->setLastIssue(true); $this->em->flush(); }
/** * @param EventDetail $eventOptions * @param string $lang * @param Journal|null $journal * @param bool $journalDefault * @param bool $useJournalDefault * @param bool $active */ private function createMailTemplateSkeleton(EventDetail $eventOptions, $lang = 'en', Journal $journal = null, $journalDefault = false, $useJournalDefault = true, $active = true) { $this->io->writeln(sprintf('Creating template for -> %s -> %s', $eventOptions->getName(), $journal == null ? 'admin' : $journal->getTitle())); $mailTemplate = new MailTemplate(); $mailTemplate->setActive($active)->setJournal($journal)->setType($eventOptions->getName())->setLang($lang)->setTemplate('')->setUseJournalDefault($useJournalDefault)->setJournalDefault($journalDefault)->setUpdatedBy('cli'); $this->em->persist($mailTemplate); }