From 888fecf886b6e902ba2004d67b6e5164048691f0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 26 Jul 2019 08:19:01 +1000 Subject: [PATCH] Working on client portal - datatables --- app/Filters/InvoiceFilters.php | 2 +- .../ClientPortal/InvoiceController.php | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index 3897ea3b0b08..1579f956bf06 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -132,7 +132,7 @@ class InvoiceFilters extends QueryFilters */ private function contactViewFilter() : Builder { - + return $this->builder ->whereCompanyId(auth('contact')->user()->company->id) ->whereNotIn('status_id', [Invoice::STATUS_DRAFT, Invoice::STATUS_CANCELLED]); diff --git a/app/Http/Controllers/ClientPortal/InvoiceController.php b/app/Http/Controllers/ClientPortal/InvoiceController.php index b65bb2ac17be..2a160d6c7a6f 100644 --- a/app/Http/Controllers/ClientPortal/InvoiceController.php +++ b/app/Http/Controllers/ClientPortal/InvoiceController.php @@ -41,9 +41,13 @@ class InvoiceController extends Controller */ public function index(InvoiceFilters $filters, Builder $builder) { - + $invoices = Invoice::filter($filters); + Log::error('invoice count = ...'); + Log::error($invoices->count()); + if (request()->ajax()) { - return DataTables::of(Invoice::all())->addColumn('action', function ($invoice) { + + return DataTables::of(Invoice::filter($filters))->addColumn('action', function ($invoice) { return ' Edit'; }) ->addColumn('checkbox', function ($invoice){ @@ -51,6 +55,7 @@ class InvoiceController extends Controller }) ->rawColumns(['checkbox', 'action']) ->make(true); + } $builder->addAction(); @@ -59,11 +64,11 @@ class InvoiceController extends Controller $html = $builder->columns([ ['data' => 'checkbox', 'name' => 'checkbox', 'title' => '', 'searchable' => false, 'orderable' => false], ['data' => 'invoice_number', 'name' => 'invoice_number', 'title' => trans('texts.invoice_number'), 'visible'=> true], - // ['data' => 'full_name', 'name' => 'full_name', 'title' => trans('texts.contact'), 'visible'=> true], - // ['data' => 'email', 'name' => 'email', 'title' => trans('texts.email'), 'visible'=> true], - // ['data' => 'created_at', 'name' => 'created_at', 'title' => trans('texts.date_created'), 'visible'=> true], - // ['data' => 'last_login', 'name' => 'last_login', 'title' => trans('texts.last_login'), 'visible'=> true], - // ['data' => 'balance', 'name' => 'balance', 'title' => trans('texts.balance'), 'visible'=> true], + ['data' => 'invoice_date', 'name' => 'invoice_date', 'title' => trans('texts.invoice_date'), 'visible'=> true], + ['data' => 'amount', 'name' => 'amount', 'title' => trans('texts.total'), 'visible'=> true], + ['data' => 'balance', 'name' => 'balance', 'title' => trans('texts.balance'), 'visible'=> true], + ['data' => 'due_date', 'name' => 'due_date', 'title' => trans('texts.due_date'), 'visible'=> true], + ['data' => 'status_id', 'name' => 'status_id', 'title' => trans('texts.status'), 'visible'=> true], ['data' => 'action', 'name' => 'action', 'title' => '', 'searchable' => false, 'orderable' => false], ]);