public function action_edit($id = null) { $setting = Model_Setting::find($id); $val = Model_Setting::validate('edit'); if ($val->run()) { $setting->setting_key = Input::post('setting_key'); $setting->setting_title = Input::post('setting_title'); $setting->setting_value = Input::post('setting_value'); $setting->setting_data_type_id = Input::post('setting_data_type_id'); if ($setting->save()) { Session::set_flash('success', e('Updated setting #' . $id)); Response::redirect('admin/settings/view/' . $setting->id); } else { Session::set_flash('error', e('Could not update setting #' . $id)); } } else { if (Input::method() == 'POST') { $setting->setting_key = $val->validated('setting_key'); $setting->setting_title = $val->validated('setting_title'); $setting->setting_value = $val->validated('setting_value'); $setting->setting_data_type_id = $val->validated('setting_data_type_id'); Session::set_flash('error', $val->error()); } $this->template->set_global('setting', $setting, false); } $this->template->set_global('data_types', Model_Setting_Data_Type::find('all', array('order_by' => array(array('name', 'asc'))))); $this->template->title = "Settings"; $this->template->content = View::forge('admin/settings/edit'); }
public function get_data_type() { return !is_null($this->data_type) ? $this->data_type : Model_Setting_Data_Type::forge(array('id' => 0)); }