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); } } }
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(); } }
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; }