/**
  *
  * 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));
 }