public function __construct(Cursus $cursus) { $details = []; $details['id'] = $cursus->getId(); $details['title'] = $cursus->getTitle(); $details['code'] = $cursus->getCode(); $details['blocking'] = $cursus->isBlocking(); $details['details'] = $cursus->getDetails(); $details['root'] = $cursus->getRoot(); $details['lvl'] = $cursus->getLvl(); $details['lft'] = $cursus->getLft(); $details['rgt'] = $cursus->getRgt(); $parent = $cursus->getParent(); $course = $cursus->getCourse(); $workspace = $cursus->getWorkspace(); if (!is_null($parent)) { $details['parentId'] = $parent->getId(); $details['parentTitle'] = $parent->getTitle(); $details['parentCode'] = $parent->getCode(); } if (!is_null($course)) { $details['courseId'] = $course->getId(); $details['courseTitle'] = $course->getTitle(); $details['courseCode'] = $course->getCode(); } if (!is_null($workspace)) { $details['workspaceId'] = $workspace->getId(); $details['workspaceName'] = $workspace->getName(); $details['workspaceCode'] = $workspace->getCode(); $details['workspaceGuid'] = $workspace->getGuid(); } parent::__construct(self::ACTION, $details); }
/** * @EXT\Route( * "cursus/{cursus}/order/update/with/cursus/{otherCursus}/mode/{mode}", * name="claro_cursus_update_order", * options={"expose"=true} * ) * @EXT\ParamConverter("authenticatedUser", options={"authenticatedUser" = true}) */ public function updateCursusOrderAction(Cursus $cursus, Cursus $otherCursus, $mode) { $this->checkToolAccess(); if ($cursus->getParent() === $otherCursus->getParent()) { $newOrder = $otherCursus->getCursusOrder(); if ($mode === 'next') { $this->cursusManager->updateCursusOrder($cursus, $newOrder); } else { $cursus->setCursusOrder($newOrder + 1); $this->cursusManager->persistCursus($cursus); } return new JsonResponse('success', 204); } else { return new JsonResponse('Forbidden', 403); } }
public function unlockedHierarchy(Cursus $cursus, array $hierarchy, array &$lockedHierarchy, array &$unlockedCursus) { $lockedHierarchy[$cursus->getId()] = false; $unlockedCursus[] = $cursus; if (!$cursus->isBlocking()) { // Unlock parents $parent = $cursus->getParent(); while (!is_null($parent) && !$parent->isBlocking()) { $lockedHierarchy[$parent->getId()] = 'up'; $unlockedCursus[] = $parent; $parent = $parent->getParent(); } // Unlock children $this->unlockedChildrenHierarchy($cursus, $hierarchy, $lockedHierarchy, $unlockedCursus); } }