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