public function action_edit($id = null) { is_null($id) and Response::redirect('Survey'); if (!($survey = Model_Survey::find($id))) { Session::set_flash('error', 'Could not find survey #' . $id); Response::redirect('Survey'); } $val = Model_Survey::validate('edit'); if ($val->run()) { $survey->title = Input::post('title'); $survey->description = Input::post('description'); $survey->type = Input::post('type'); if ($survey->save()) { Session::set_flash('success', 'Updated survey #' . $id); Response::redirect('survey'); } else { Session::set_flash('error', 'Could not update survey #' . $id); } } else { if (Input::method() == 'POST') { $survey->title = $val->validated('title'); $survey->description = $val->validated('description'); $survey->type = $val->validated('type'); Session::set_flash('error', $val->error()); } $this->template->set_global('survey', $survey, false); } $this->template->title = "Surveys"; $this->template->content = View::forge('survey/edit'); }