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