예제 #1
0
 function update($id = FALSE, $getview = FALSE)
 {
     if ($_POST) {
         unset($_POST['send']);
         unset($_POST['_wysihtml5_mode']);
         unset($_POST['files']);
         $config['upload_path'] = './files/media/';
         $config['encrypt_name'] = TRUE;
         $config['allowed_types'] = '*';
         $this->load->library('upload', $config);
         if ($this->upload->do_upload()) {
             $data = array('upload_data' => $this->upload->data());
             if ($_POST['attachment_description'] == "") {
                 $_POST['attachment_description'] = $data['upload_data']['orig_name'];
             }
             $_POST['attachment'] = $data['upload_data']['file_name'];
         }
         $id = $_POST['id'];
         $expense = Expense::find_by_id($id);
         $expense->update_attributes($_POST);
         if (!$expense) {
             $this->session->set_flashdata('message', 'error:' . $this->lang->line('messages_save_expense_error'));
         } else {
             $this->session->set_flashdata('message', 'success:' . $this->lang->line('messages_save_expense_success'));
         }
         redirect('expenses');
     } else {
         $this->view_data['next_reference'] = Expense::last();
         $this->view_data['expense'] = Expense::find_by_id($id);
         $this->view_data['projects'] = Project::all();
         $this->view_data['core_settings'] = Setting::first();
         $this->view_data['companies'] = Company::find('all', array('conditions' => array('inactive=?', '0')));
         $this->theme_view = 'modal';
         $this->view_data['categories'] = Expense::find_by_sql("select category from expenses group by category");
         $this->view_data['title'] = $this->lang->line('application_create_expense');
         $this->view_data['form_action'] = 'expenses/update';
         $this->content_view = 'expenses/_expense';
     }
 }