Ejemplo n.º 1
0
 protected static function _init()
 {
     $session = Registry::get("session");
     if (!self::$_courses || !self::$_classes) {
         if (!$session->get('TeacherService:$courses') || !$session->get('TeacherService:$classes')) {
             $teaches = \Teach::all(array("user_id = ?" => self::$_teacher->user_id));
             $session->set('TeacherService:$teaches', $teaches);
             $session->set('TeacherService:$courses', self::_findCourses($teaches));
             $session->set('TeacherService:$classes', self::_findClasses($teaches));
         }
         self::$_courses = $session->get('TeacherService:$courses');
         self::$_classes = $session->get('TeacherService:$classes');
         self::$_teaches = $session->get('TeacherService:$teaches');
     }
 }
Ejemplo n.º 2
0
 /**
  * Find all the courses to which the teacher is assigned
  * @before _secure, _teacher
  */
 public function courses()
 {
     $this->setSEO(array("title" => "Manage Your Courses | Teacher"));
     $view = $this->getActionView();
     $teaches = \Teach::all(array("user_id = ?" => $this->user->id, "live = ?" => true));
     $grades = \Grade::all(array("organization_id = ?" => $this->organization->id), array("id", "title"));
     $storedGrades = array();
     foreach ($grades as $g) {
         $storedGrades[$g->id] = $g;
     }
     $courses = TeacherService::$_courses;
     $classes = TeacherService::$_classes;
     $result = array();
     foreach ($teaches as $t) {
         $grade = $storedGrades[$t->grade_id];
         $class = $classes[$t->classroom_id];
         $course = $courses[$t->course_id];
         $asgmnt = \Assignment::count(array("course_id = ?" => $t->course_id));
         $data = array("grade" => $grade->title, "grade_id" => $g->id, "section" => $class->section, "course" => $course->title, "course_id" => $course->id, "classroom_id" => $class->id, "assignments" => $asgmnt);
         $data = ArrayMethods::toObject($data);
         $result[] = $data;
     }
     $session = Registry::get("session");
     if ($session->get('Notification\\Students:$sent')) {
         $view->set("success", "Notification sent to students");
         $session->erase('Notification\\Students:$sent');
     }
     $view->set("courses", $result);
 }