public function validateUserCourseRegistrationQueue(CourseRegistrationQueue $queue) { $status = $queue->getStatus(); if ($status & CourseRegistrationQueue::WAITING_USER) { $status -= CourseRegistrationQueue::WAITING_USER; if ($status === 0) { $status = CourseRegistrationQueue::WAITING; } $queue->setStatus($status); $queue->setUserValidationDate(new \DateTime()); $this->persistCourseRegistrationQueue($queue); $event = new LogCourseQueueUserValidateEvent($queue); $this->eventDispatcher->dispatch('log', $event); } }
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; }