public function store()
 {
     try {
         $expense = new \Expense();
         $expense->urbanism_id = Input::get('urbanism_id');
         $expense->sub_account_id = Input::get('sub_account_id');
         $expense->amount = Input::get('amount');
         $expense->coments = Input::get('coments');
         $expense->created_by = Auth::user()->id;
         $files = Input::file('file');
         if ($expense->save()) {
             $new_expense = Expense::orderBy('created_at', 'desc')->first();
             if ($files) {
                 foreach ($files as $file) {
                     if ($file) {
                         strip_tags($file);
                         $extension = pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION);
                         $rules = ['file' => 'required|file|max:5120'];
                         $messages = ['file' => '¡Atención! Solo se permiten archivos de tipo: jpg,gif,jpeg,pdf,xml,png,doc,docx,xls y xlsx.', 'max' => '¡Atención! El tamaño máximo permitido para los archivos es de 5MB'];
                         $validator = \Validator::make(['file' => $extension], $rules, $messages);
                         if ($validator->fails()) {
                             $new_expense->delete();
                             return Redirect::back()->withInput()->withErrors($validator);
                             //var_dump($files);
                         } else {
                             //print_r($files);
                             $public_filename = $file->getClientOriginalName();
                             $filename = uniqid() . '_' . str_random(6) . '_' . $file->getClientOriginalName();
                             $destinationPath = public_path() . '/uploads/files/expenses/';
                             $uploadSuccess = $file->move($destinationPath, $filename);
                             $new_data = ['expense_id' => $new_expense->id, 'public_filename' => $public_filename, 'filename' => $filename];
                             $expenses_files = ExpenseFile::create($new_data);
                         }
                     }
                 }
             }
             return Redirect::route('report.expenses')->with('error', false)->with('msg', 'Gasto reportado con éxito')->with('class', 'info');
         }
     } catch (Exception $exc) {
         echo $exc->getMessage() . " " . $exc->getLine();
         return Redirect::back()->with('error', true)->with('msg', '¡Algo salió mal! Contacte con administrador')->with('class', 'danger');
     }
 }
Beispiel #2
0
 public function index()
 {
     $expenseList = Expense::orderBy('date', 'desc')->paginate(12);
     return View::make('expense.index')->with('expenseList', $expenseList);
 }