/**
  * @param Chapter $chapter
  *
  * @return Tree $tree
  */
 public function buildChapterTree(Chapter $chapter, $fields = 'chapter')
 {
     $queryBuilder = $this->createQueryBuilder('chapter')->select($fields)->andWhere('chapter.root = :rootId')->orderBy('chapter.root, chapter.left', 'ASC')->setParameter('rootId', $chapter->getId());
     $options = array('decorate' => false);
     $tree = $this->buildTree($queryBuilder->getQuery()->getArrayResult(), $options);
     return $tree;
 }
 public function postPersist(Chapter $chapter, LifecycleEventArgs $event)
 {
     $userPicker = $chapter->getUserPicker();
     $lesson = $chapter->getLesson();
     if ($userPicker !== null && count($userPicker->getUserIds()) > 0 && $lesson->getResourceNode() !== null) {
         $details = array('chapter' => array('lesson' => $lesson->getId(), 'chapter' => $chapter->getId(), 'title' => $chapter->getTitle()), 'resource' => array('id' => $lesson->getId(), 'name' => $lesson->getResourceNode()->getName(), 'type' => $lesson->getResourceNode()->getResourceType()->getName()));
         $notification = $this->notificationManager->createNotification('resource-icap_lesson-user_tagged', 'lesson', $lesson->getResourceNode()->getId(), $details);
         $this->notificationManager->notifyUsers($notification, $userPicker->getUserIds());
     }
 }
 /**
  * @param Lesson  $lesson
  * @param Chapter $chapter
  */
 public function __construct(Lesson $lesson, Chapter $chapter)
 {
     $this->lesson = $lesson;
     $this->details = array('chapter' => array('lesson' => $lesson->getId(), 'chapter' => $chapter->getId(), 'title' => $chapter->getTitle()));
     parent::__construct($lesson->getResourceNode(), $this->details);
 }
 /**
  * @param Lesson  $lesson
  * @param Chapter $chapter
  * @param Chapter $oldparent
  * @param Chapter $newparent
  */
 public function __construct(Lesson $lesson, Chapter $chapter, Chapter $oldparent, Chapter $newparent)
 {
     $details = array('chapter' => array('lesson' => $lesson->getId(), 'chapter' => $chapter->getId(), 'title' => $chapter->getTitle(), 'old_parent' => $oldparent->getTitle(), 'new_parent' => $newparent->getTitle()));
     parent::__construct($lesson->getResourceNode(), $details);
 }