From f1c458185dba1bed984a76f989add43d6129e6a1 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 27 Sep 2016 14:56:05 -0700 Subject: [PATCH] Client-side pagination on asset report for faster loading --- app/Helpers/Helper.php | 12 ++ app/Http/Controllers/AssetsController.php | 8 +- app/Http/Controllers/ReportsController.php | 18 +-- resources/views/reports/asset.blade.php | 150 ++++++++------------- 4 files changed, 80 insertions(+), 108 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index d92a2c9881..91d3c3c78c 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -495,4 +495,16 @@ class Helper } + + public static function stripTagsFromJSON(Array $array) { + + foreach ($array as $key => $value) { + $clean_value = strip_tags($value); + $clean_array[$key] = $clean_value; + } + return $clean_array; + + } + + } diff --git a/app/Http/Controllers/AssetsController.php b/app/Http/Controllers/AssetsController.php index c40535aece..c89d9f3d1d 100755 --- a/app/Http/Controllers/AssetsController.php +++ b/app/Http/Controllers/AssetsController.php @@ -1843,7 +1843,13 @@ class AssetsController extends Controller } } - $rows[]=$row; + + if (($request->has('report')) && ($request->get('report')=='true')) { + $rows[]= Helper::stripTagsFromJSON($row); + } else { + $rows[]= $row; + } + } $data = array('total'=>$assetCount, 'rows'=>$rows); diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index b3bf6e18c8..d75784a818 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -89,7 +89,7 @@ class ReportsController extends Controller } /** - * Display asset report. + * Display asset report view. * * @author [A. Gianotto] [] * @since [v1.0] @@ -98,23 +98,11 @@ class ReportsController extends Controller public function getAssetsReport() { $settings = \App\Models\Setting::first(); - // Grab all the assets - $assets = Asset::with( - 'model', - 'assigneduser.userLoc', - 'assetstatus', - 'defaultLoc', - 'assetlog', - 'supplier', - 'model.manufacturer', - 'company' - ) - ->orderBy('created_at', 'DESC') - ->get(); - return View::make('reports/asset', compact('assets'))->with('settings', $settings); } + + /** * Exports the assets to CSV * diff --git a/resources/views/reports/asset.blade.php b/resources/views/reports/asset.blade.php index e1ab6bc831..2d8a984f05 100644 --- a/resources/views/reports/asset.blade.php +++ b/resources/views/reports/asset.blade.php @@ -23,99 +23,55 @@
+ name="assetsReport" + {{-- data-row-style="rowStyle" --}} + data-toolbar="#toolbar" + class="table table-striped" + id="table" + data-url="{{route('api.hardware.list', array(''=>e(Input::get('status')),'order_number'=>e(Input::get('order_number')), 'status_id'=>e(Input::get('status_id')), 'report'=>'true'))}}" + data-cookie="true" + data-click-to-select="true" + data-cookie-id-table="{{ e(Input::get('status')) }}assetTable-{{ config('version.hash_version') }}"> + + + @if (Input::get('status')!='Deleted') + + @endif + + + + + + + + + + + + + + + + + + + + @foreach(\App\Models\CustomField::all() AS $field) - - - - - - - - @if ($settings->display_asset_name) - - @endif - - - - - - - - - - - - - @foreach ($assets as $asset) - - - - - - - @if ($settings->display_asset_name) - - @endif - - - - - - - - + @endforeach + - - - @endforeach - + +
{{ trans('general.id') }}{{ trans('general.company') }}{{ trans('admin/hardware/form.name') }}{{ trans('admin/hardware/table.asset_tag') }}{{ trans('admin/hardware/table.serial') }}{{ trans('admin/hardware/form.model') }}{{ trans('admin/models/table.modelnumber') }}{{ trans('admin/hardware/table.status') }}{{ trans('admin/hardware/form.checkedout_to') }}{{ trans('admin/hardware/table.location') }}{{ trans('general.category') }}{{ trans('general.manufacturer') }}{{ trans('admin/hardware/form.cost') }}{{ trans('admin/hardware/form.date') }}{{ trans('general.eol') }}{{ trans('general.notes') }}{{ trans('admin/hardware/form.order') }}{{ trans('admin/hardware/table.checkout_date') }}{{ trans('admin/hardware/form.expected_checkin') }}
{{ trans('admin/companies/table.title') }}{{ trans('admin/hardware/table.asset_tag') }}{{ trans('admin/hardware/form.manufacturer') }}{{ trans('admin/hardware/form.model') }}{{ trans('general.model_no') }}{{ trans('general.name') }}{{ trans('admin/hardware/table.serial') }}{{ trans('admin/hardware/table.status') }}{{ trans('admin/hardware/table.purchase_date') }}{{ trans('admin/hardware/table.purchase_cost') }}{{ trans('admin/hardware/form.order') }}{{ trans('admin/hardware/form.supplier') }}{{ trans('admin/hardware/table.checkoutto') }}{{ trans('admin/hardware/table.checkout_date') }}{{ trans('admin/hardware/table.location') }}
{{ is_null($asset->company) ? '' : $asset->company->name }}{{ $asset->asset_tag }} - @if ($asset->model->manufacturer) - {{ $asset->model->manufacturer->name }} - @endif - {{ $asset->model->name }}{{ $asset->model->modelno }}{{ $asset->name }}{{ $asset->serial }} - {{ ($asset->assigneduser) ? 'Deployed' : ((e($asset->assetstatus)) ? e($asset->assetstatus->name) : '') }} - {{ $asset->purchase_date }}{{ $settings->default_currency }} - {{ \App\Helpers\Helper::formatCurrencyOutput($asset->purchase_cost) }} - - @if ($asset->order_number) - {{ $asset->order_number }} - @endif - - @if ($asset->supplier_id) - - {{ $asset->supplier->name }} - - @endif - - @if ($asset->assigneduser) - @if ($asset->assigneduser->deleted_at!='') - {{ $asset->assigneduser->fullName() }} - @else - - {{ $asset->assigneduser->fullName() }} - - @endif + + @if ($field->field_encrypted=='1') + + @endif - @endif - + {{$field->name}} + - @if (($asset->assigneduser) && ($asset->last_checkout!='')) - {{ $asset->last_checkout }} - @endif - {{ trans('general.created_at') }} - @if (($asset->assigneduser) && ($asset->assigneduser->userLoc)) - {{ $asset->assigneduser->userLoc->name }} - @elseif ($asset->defaultLoc) - {{ $asset->defaultLoc->name }} - @endif -
@@ -130,6 +86,7 @@ + @stop