Esempio n. 1
0
 public function action_edit($id = null)
 {
     $where = ['id' => $id];
     if (Model_User::is_current_user('teacher')) {
         $where['user_id'] = Auth::get('id');
     }
     $subject = Model_Subject::find('first', ['where' => $where]);
     if (empty($subject)) {
         Session::set_flash('error', 'Subject does not exist.');
         Response::redirect('site/subject');
     }
     $val = Model_Subject::validate('edit');
     if ($val->run()) {
         $subject->subject_code = Input::post('subject_code');
         $subject->subject_desc = Input::post('subject_desc');
         $subject->semester = Input::post('semester');
         $subject->year = Input::post('year');
         $subject->user_id = Input::post('user_id');
         $subject->course_id = Input::post('course_id');
         if ($subject->save()) {
             Session::set_flash('success', e('Updated subject #' . $id));
             Response::redirect('site/subject');
         } else {
             Session::set_flash('error', e('Could not update subject #' . $id));
         }
     } else {
         if (Input::method() == 'POST') {
             $subject->subject_code = $val->validated('subject_code');
             $subject->subject_desc = $val->validated('subject_desc');
             $subject->semester = $val->validated('semester');
             $subject->year = $val->validated('year');
             $subject->user_id = $val->validated('user_id');
             $subject->course_id = $val->validated('course_id');
             Session::set_flash('error', $val->error());
         }
         $this->template->set_global('subject', $subject, false);
     }
     $courses = Model_Course::getCoursesOptions();
     $this->template->set_global('courses', $courses, false);
     // Global variables
     $teachers = Model_User::get_list_of_teachers();
     $this->template->set_global('teachers', $teachers, false);
     $this->template->title = "Subjects";
     $this->template->content = View::forge('site/subject/edit');
 }