data['title'] = 'Expenses'; $this->data['expenses'] = DB::table('expenses as e') ->leftJoin('expense_types as et','et.id','=','e.expense_type_id') ->leftJoin('users as u','u.id','=','e.user_id') ->select('e.*','e.id as expense_id','et.name as expense_type_name','u.name as user_name') ->get(); return view('admin.expenses.expenses', $this->data); } /* | Expense form view |-------------------------------------------------------------------------- */ public function get_expenses_form(Request $request) { if($request->id && $request->id != ""){ $this->data['expense'] = Expenses::find($request->id); $this->data['title'] = 'Edit Expense'; }else{ $this->data['title'] = 'Add New Expense'; } return view('admin.expenses.expenses_form', $this->data); } /* | Save expense |-------------------------------------------------------------------------- */ public function save_expense(Request $request) { if($request->id && $request->id !=""){ $expense = Expenses::findorFail($request->id); }else{ $expense = new Expenses; } $expense->user_id = Auth::user()->id; $expense->date = $request->date; $expense->expense_type_id = $request->expense_type_id; $expense->title = $request->title; $expense->amount = $request->amount; $expense->description = $request->description; $expense->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } /* | Delete Expense |-------------------------------------------------------------------------- */ public function delete_expense(Request $request) { if($request->id){ $delete = Expenses::find($request->id); $delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } /* | Expense types view |-------------------------------------------------------------------------- */ public function get_expense_types() { $this->data['title'] = 'Expense Types'; $this->data['expense_types'] = ExpenseTypes::all(); return view('admin.expenses.expense_types', $this->data); } /* | Expense type form view |-------------------------------------------------------------------------- */ public function get_expense_types_form(Request $request) { if($request->id && $request->id != ""){ $this->data['expense_type'] = ExpenseTypes::findorFail($request->id); $this->data['title'] = 'Edit Expense Type'; }else{ $this->data['title'] = 'Add New Expense Type'; } return view('admin.expenses.expense_types_form', $this->data); } /* | Save expense type |-------------------------------------------------------------------------- */ public function save_expense_type(Request $request) { if($request->id && $request->id !=""){ $expense_type = ExpenseTypes::findorFail($request->id); }else{ $expense_type = new ExpenseTypes; } $expense_type->name = $request->name; $expense_type->description = $request->description; $expense_type->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } /* | Delete Expense |-------------------------------------------------------------------------- */ public function delete_expense_type(Request $request) { if($request->id){ $delete = ExpenseTypes::findorFail($request->id); $delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } }