Esempio n. 1
0
 public function session($name, Course $course, $status = 0)
 {
     $now = new \DateTime();
     $session = new CourseSession();
     $session->setName($name);
     $session->setCourse($course);
     $session->setCreationDate($now);
     $session->setSessionStatus($status);
     $this->om->persist($session);
     return $session;
 }
Esempio n. 2
0
 public function createCourseSession(Course $course, User $user, $sessionName = null, Cursus $cursus = null, $registrationDate = null, $startDate = null, $endDate = null)
 {
     if (is_null($registrationDate)) {
         $registrationDate = new \DateTime();
     }
     $session = new CourseSession();
     $session->setName($sessionName);
     $session->setCourse($course);
     $session->addCursu($cursus);
     $session->setCreationDate($registrationDate);
     $session->setPublicRegistration($course->getPublicRegistration());
     $session->setPublicUnregistration($course->getPublicUnregistration());
     $session->setRegistrationValidation($course->getRegistrationValidation());
     $session->setStartDate($startDate);
     $session->setEndDate($endDate);
     $workspace = $this->generateWorkspace($course, $session, $user);
     $session->setWorkspace($workspace);
     $learnerRole = $this->generateRoleForSession($workspace, $course->getLearnerRoleName(), 0);
     $tutorRole = $this->generateRoleForSession($workspace, $course->getTutorRoleName(), 1);
     $session->setLearnerRole($learnerRole);
     $session->setTutorRole($tutorRole);
     $this->persistCourseSession($session);
     return $session;
 }
Esempio n. 3
0
 public function createCourseSessionFromSession(CourseSession $session, Course $course)
 {
     $session->setCourse($course);
     $workspace = $course->getWorkspace();
     if (is_null($workspace)) {
         $workspace = $this->generateWorkspace($course, $session);
     }
     $session->setWorkspace($workspace);
     $learnerRole = $this->generateRoleForSession($workspace, $course->getLearnerRoleName(), 0);
     $tutorRole = $this->generateRoleForSession($workspace, $course->getTutorRoleName(), 1);
     $session->setLearnerRole($learnerRole);
     $session->setTutorRole($tutorRole);
     $this->persistCourseSession($session);
     $event = new LogCourseSessionCreateEvent($session);
     $this->eventDispatcher->dispatch('log', $event);
     //the event will be listened by FormaLibreBulletinBundle (it adds some MatiereOptions)
     $this->clarolineDispatcher->dispatch('create_course_session', 'Claroline\\CursusBundle\\Event\\CreateCourseSessionEvent', [$session]);
 }