Ojs\JournalBundle\Controller\ArticleSubmissionController::cancelAction PHP Метод

cancelAction() публичный Метод

public cancelAction ( $id ) : RedirectResponse
$id
Результат Symfony\Component\HttpFoundation\RedirectResponse
    public function cancelAction($id)
    {
        $em = $this->getDoctrine()->getManager();
        /** @var Article $article */
        $article = $em->getRepository('OjsJournalBundle:Article')->findOneBy(array('submitterUser' => $this->getUser(), 'id' => $id, 'status' => ArticleStatuses::STATUS_NOT_SUBMITTED));
        $this->throw404IfNotFound($article);
        //remove article 's article files relational items
        foreach ($article->getArticleFiles() as $file) {
            $article->removeArticleFile($file);
            $file->setArticle(null);
            $em->persist($file);
            $em->remove($file);
        }
        //remove article 's article authors relational items
        foreach ($article->getArticleAuthors() as $articleAuthor) {
            $article->removeArticleAuthor($articleAuthor);
            $articleAuthor->setArticle(null);
            $em->persist($articleAuthor);
            $em->remove($articleAuthor);
        }
        //remove article 's article submission files relational items
        foreach ($article->getArticleSubmissionFiles() as $submissionFile) {
            $article->removeArticleSubmissionFile($submissionFile);
        }
        //remove article 's article citations relational items
        foreach ($article->getCitations() as $citation) {
            $article->removeCitation($citation);
            $citation->removeArticle($article);
            $em->persist($citation);
            $em->remove($citation);
        }
        //remove article 's article attributes relational items
        foreach ($article->getAttributes() as $attribute) {
            $article->removeAttribute($attribute);
        }
        $em->remove($article);
        $em->flush();
        $this->successFlashBag('successful.remove');
        return $this->redirectToRoute('ojs_user_index');
    }