middleware('auth'); $this->middleware('role:Admin'); } /** * Display current unpaid invoices */ public function DisplayUnpaidInvoice() { $invoices = Invoice::where([ 'status' => 'Pending', ])->orWhere([ 'status' => 'Late', ])->orWhere([ 'status' => 'Deferred', ])->orderByDesc('invoice_id')->paginate(50); $totalAmount = Invoice::where([ 'status' => 'Pending', ])->orWhere([ 'status' => 'Late', ])->orWhere([ 'status' => 'Deferred', ])->sum('invoice_amount'); return view('miningtax.admin.display.unpaid')->with('invoices', $invoices) ->with('totalAmount', $totalAmount); } /** * Mark an invoice paid */ public function UpdateInvoice(Request $request) { $this->validate($request, [ 'invoiceId' => 'required', 'status' => 'required', ]); Invoice::where([ 'invoice_id' => $request->invoiceId, ])->update([ 'status' => $request->status, ]); return redirect('/miningtax/admin/display/unpaid')->with('success', 'Invoice successfully updated.'); } /** * Display past paid invoices */ public function DisplayPaidInvoices() { $invoices = Invoice::where([ 'status' => 'Paid', ])->orWhere([ 'status' => 'Paid Late', ])->paginate(50); $totalAmount = Invoice::where([ 'status' => 'Paid', ])->orWhere([ 'status' => 'Paid Late', ])->sum('invoice_amount'); return view('miningtax.admin.display.paidinvoices')->with('invoices', $invoices) ->with('totalAmount', $totalAmount); } }