public function __construct(Course $course) { $details = []; $details['id'] = $course->getId(); $details['title'] = $course->getTitle(); $details['code'] = $course->getCode(); $details['publicRegistration'] = $course->getPublicRegistration(); $details['publicUnregistration'] = $course->getPublicUnregistration(); $details['registrationValidation'] = $course->getRegistrationValidation(); $details['icon'] = $course->getIcon(); $details['tutorRoleName'] = $course->getTutorRoleName(); $details['learnerRoleName'] = $course->getLearnerRoleName(); $details['userValidation'] = $course->getUserValidation(); $details['organizationValidation'] = $course->getOrganizationValidation(); $details['maxUsers'] = $course->getMaxUsers(); $details['defaultSessionDuration'] = $course->getDefaultSessionDuration(); $details['withSessionEvent'] = $course->getWithSessionEvent(); $workspace = $course->getWorkspace(); $workspaceModel = $course->getWorkspaceModel(); if (!is_null($workspace)) { $details['workspaceId'] = $workspace->getId(); $details['workspaceName'] = $workspace->getName(); $details['workspaceCode'] = $workspace->getCode(); $details['workspaceGuid'] = $workspace->getGuid(); } if (!is_null($workspaceModel)) { $details['workspaceModelId'] = $workspaceModel->getId(); $details['workspaceModelName'] = $workspaceModel->getName(); } parent::__construct(self::ACTION, $details); }
/** * @EXT\Route( * "cursus/course/{course}/session/create/form", * name="claro_cursus_course_session_create_form", * options={"expose"=true} * ) * @EXT\ParamConverter("authenticatedUser", options={"authenticatedUser" = true}) * @EXT\Template("ClarolineCursusBundle:Course:courseSessionCreateModalForm.html.twig") */ public function courseSessionCreateFormAction(Course $course) { $session = new CourseSession(); $session->setPublicRegistration($course->getPublicRegistration()); $session->setPublicUnregistration($course->getPublicUnregistration()); $session->setRegistrationValidation($course->getRegistrationValidation()); $session->setMaxUsers($course->getMaxUsers()); $session->setUserValidation($course->getUserValidation()); $session->setOrganizationValidation($course->getOrganizationValidation()); $validators = $course->getValidators(); foreach ($validators as $validator) { $session->addValidator($validator); } $form = $this->formFactory->create(new CourseSessionType($this->cursusManager, $this->translator), $session); return ['form' => $form->createView(), 'course' => $course]; }
public function deleteCourse(Course $course) { $details = []; $details['id'] = $course->getId(); $details['title'] = $course->getTitle(); $details['code'] = $course->getCode(); $details['publicRegistration'] = $course->getPublicRegistration(); $details['publicUnregistration'] = $course->getPublicUnregistration(); $details['registrationValidation'] = $course->getRegistrationValidation(); $details['icon'] = $course->getIcon(); $details['tutorRoleName'] = $course->getTutorRoleName(); $details['learnerRoleName'] = $course->getLearnerRoleName(); $details['userValidation'] = $course->getUserValidation(); $details['organizationValidation'] = $course->getOrganizationValidation(); $details['maxUsers'] = $course->getMaxUsers(); $details['defaultSessionDuration'] = $course->getDefaultSessionDuration(); $details['withSessionEvent'] = $course->getWithSessionEvent(); $workspace = $course->getWorkspace(); $workspaceModel = $course->getWorkspaceModel(); if (!is_null($workspace)) { $details['workspaceId'] = $workspace->getId(); $details['workspaceName'] = $workspace->getName(); $details['workspaceCode'] = $workspace->getCode(); $details['workspaceGuid'] = $workspace->getGuid(); } if (!is_null($workspaceModel)) { $details['workspaceModelId'] = $workspaceModel->getId(); $details['workspaceModelName'] = $workspaceModel->getName(); } $this->om->remove($course); $this->om->flush(); $event = new LogCourseDeleteEvent($details); $this->eventDispatcher->dispatch('log', $event); }
/** * @EXT\Route( * "cursus/course/{course}/session/create/form", * name="claro_cursus_course_session_create_form", * options={"expose"=true} * ) * @EXT\ParamConverter("authenticatedUser", options={"authenticatedUser" = true}) * @EXT\Template("ClarolineCursusBundle:Course:courseSessionCreateModalForm.html.twig") */ public function courseSessionCreateFormAction(Course $course) { $session = new CourseSession(); $session->setPublicRegistration($course->getPublicRegistration()); $session->setPublicUnregistration($course->getPublicUnregistration()); $session->setRegistrationValidation($course->getRegistrationValidation()); $form = $this->formFactory->create(new CourseSessionType(), $session); return array('form' => $form->createView(), 'course' => $course); }
public function courseQueue(Course $course, User $user) { $now = new \DateTime(); $status = 0; $validators = $course->getValidators(); if ($course->getUserValidation()) { $status += CourseRegistrationQueue::WAITING_USER; } if ($course->getOrganizationValidation()) { $status += CourseRegistrationQueue::WAITING_ORGANIZATION; } if (count($validators) > 0) { $status += CourseRegistrationQueue::WAITING_VALIDATOR; } elseif ($course->getRegistrationValidation()) { $status += CourseRegistrationQueue::WAITING; } $courseQueue = new CourseRegistrationQueue(); $courseQueue->setUser($user); $courseQueue->setCourse($course); $courseQueue->setApplicationDate($now); $courseQueue->setStatus($status); $this->om->persist($courseQueue); return $courseQueue; }