예제 #1
0
 public function addUserToCourseQueue(User $user, Course $course)
 {
     $queue = $this->getOneCourseQueueByCourseAndUser($course, $user);
     if (is_null($queue)) {
         $queue = new CourseRegistrationQueue();
         $queue->setCourse($course);
         $queue->setUser($user);
         $queue->setApplicationDate(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;
         }
         $queue->setStatus($status);
         $this->om->persist($queue);
         $this->om->flush();
         $event = new LogCourseQueueCreateEvent($queue);
         $this->eventDispatcher->dispatch('log', $event);
         if (($status & CourseRegistrationQueue::WAITING_USER) === CourseRegistrationQueue::WAITING_USER) {
             $this->sendCourseQueueRequestConfirmationMail($queue);
         }
     }
 }
예제 #2
0
 public function addUserToCourseQueue(User $user, Course $course)
 {
     $queue = $this->getOneCourseQueueByCourseAndUser($course, $user);
     if (is_null($queue)) {
         $queue = new CourseRegistrationQueue();
         $queue->setCourse($course);
         $queue->setUser($user);
         $queue->setApplicationDate(new \DateTime());
         $this->om->persist($queue);
         $this->om->flush();
     }
 }
예제 #3
0
 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;
 }