/** * * Set Forum * * @param Forum $forum * @return Category */ public function setForum(ConcreteForum $forum = null) { if ($this->forum) { if ($forum) { if ($this->forum->getId() != $forum->getId()) { $this->setListOrderPriority(count($forum->getCategories()) + 1); } } else { $this->setListOrderPriority(0); } } else { if ($forum) { $this->setListOrderPriority(count($forum->getCategories()) + 1); } else { $this->setListOrderPriority(0); } } $this->forum = $forum; return $this; }
/** * * @access protected * @param \CCDNForum\ForumBundle\Entity\Forum $forum */ protected function onSuccess(Forum $forum) { $this->dispatcher->dispatch(ForumEvents::ADMIN_FORUM_DELETE_SUCCESS, new AdminForumEvent($this->request, $forum)); if (!$this->form->get('confirm_subordinates')->getData()) { $categories = new ArrayCollection($forum->getCategories()->toArray()); $this->forumModel->reassignCategoriesToForum($categories, null)->flush(); } $this->forumModel->deleteForum($forum); $this->dispatcher->dispatch(ForumEvents::ADMIN_FORUM_DELETE_COMPLETE, new AdminForumEvent($this->request, $forum)); }