Esempio n. 1
0
 /**
  * @param Course $course
  */
 public function addCourse(Course $course)
 {
     if ($course->getWeek() == 'A') {
         $this->courses['A'] = $course;
     } elseif ($course->getWeek() == 'B') {
         $this->courses['B'] = $course;
     }
 }
Esempio n. 2
0
 /**
  * @param User $user
  * @return Course[]
  */
 public function getUserNextCourses(User $user)
 {
     /** @var Course[] $todayCourses */
     $todayCourses = $this->createQueryBuilder('c')->where('c.user = :user')->andWhere('c.day = :day')->orderBy('c.start', 'ASC')->setParameter('user', $user->getId())->setParameter('day', Course::getTodayConstant())->getQuery()->getResult();
     $nextCourses = [];
     foreach ($todayCourses as $course) {
         if ($course->getStartAsInt() >= (int) date('Hi') - 15) {
             $nextCourses[$course->getStart()][] = $course;
         }
     }
     return array_slice($nextCourses, 0, 5);
 }
Esempio n. 3
0
 /**
  * @Route("/schedule/course/{id}", name="schedule_course")
  * @Template()
  */
 public function courseAction(Course $course)
 {
     if (!$this->getUserLayer()->isStudent()) {
         return $this->createAccessDeniedResponse();
     }
     /** @var $em EntityManager */
     $em = $this->getDoctrine()->getManager();
     $students = $em->createQueryBuilder()->select('c, u')->from('EtuUserBundle:Course', 'c')->leftJoin('c.user', 'u')->where('c.uv = :uv')->andWhere('c.start = :start')->andWhere('c.end = :end')->andWhere('c.week = :week')->andWhere('c.room = :room')->setParameter('uv', $course->getUv())->setParameter('start', $course->getStart())->setParameter('end', $course->getEnd())->setParameter('week', $course->getWeek())->setParameter('room', $course->getRoom())->orderBy('u.lastName', 'ASC')->getQuery()->getResult();
     return array('course' => $course, 'students' => $students);
 }
Esempio n. 4
0
 /**
  * @param Course $course
  * @return int
  */
 public static function getBlockSize(Course $course)
 {
     $partsStart = explode(':', $course->getStart());
     $partsEnd = explode(':', $course->getEnd());
     $hours = (int) $partsEnd[0] - (int) $partsStart[0];
     $minutes = (int) $partsEnd[1] - (int) $partsStart[1];
     $size = $hours * 2;
     if ($minutes == 30) {
         $size++;
     } elseif ($minutes == -30) {
         $size--;
     }
     return $size;
 }
Esempio n. 5
0
 /**
  * @param Course $course
  * @return array
  */
 private function getData(Course $course)
 {
     $start = explode(':', $course->getStart());
     $end = explode(':', $course->getEnd());
     return ['day' => $course->getDay(), 'start' => ['hour' => (int) $start[0], 'minute' => (int) $start[1]], 'end' => ['hour' => (int) $end[0], 'minute' => (int) $end[1]], 'week' => $course->getWeek(), 'uv' => $course->getUv(), 'type' => $course->getType(), 'room' => $course->getRoom()];
 }