From 6d40a98a16adf640080643bf01c15fd83c41ebee Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 6 Feb 2017 18:49:08 -0800 Subject: [PATCH] User assets presenter for column headers --- app/Presenters/AssetPresenter.php | 148 +++++++++++++++++------ resources/views/hardware/index.blade.php | 48 +------- 2 files changed, 111 insertions(+), 85 deletions(-) diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 038f55500e..8d859ddc57 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -1,10 +1,8 @@ "checkbox", + "checkbox" => true + ],[ + "field" => "id", + "searchable" => false, + "sortable" => true, + "title" => trans('general.id'), + "visible" => false, + "formatter" => null + ], [ "field" => "company", "searchable" => true, "sortable" => true, "switchable" => true, - "title" => '', - "visible" => true, + "title" => trans('general.company'), + "visible" => false, "formatter" => "companiesLinkObjFormatter" ], [ "field" => "name", "searchable" => true, "sortable" => true, - "title" => trans('admin/accessories/table.title'), - "formatter" => "accessoriesLinkFormatter" + "title" => trans('admin/hardware/form.name'), + "visible" => true, + "formatter" => "hardwareLinkFormatter" ], [ - "field" => "category", + "field" => "image", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/hardware/table.image'), + "visible" => true, + "formatter" => "imageFormatter" + ], [ + "field" => "asset_tag", "searchable" => true, "sortable" => true, - "title" => trans('admin/accessories/general.accessory_category'), - "formatter" => "categoriesLinkObjFormatter" + "title" => trans('admin/hardware/table.asset_tag'), + "visible" => true, + "formatter" => "hardwareLinkFormatter" + ], [ + "field" => "serial", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/hardware/form.serial'), + "visible" => true, + "formatter" => "hardwareLinkFormatter" + ], [ + "field" => "model", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/hardware/form.model'), + "visible" => true, + "formatter" => "modelsLinkObjFormatter" ], [ "field" => "model_number", "searchable" => true, "sortable" => true, "title" => trans('admin/models/table.modelnumber'), - "formatter" => "accessoriesLinkFormatter" + "visible" => false, + "formatter" => null + ], [ + "field" => "category", + "searchable" => true, + "sortable" => true, + "title" => trans('general.category'), + "visible" => true, + "formatter" => "categoriesLinkObjFormatter" + ], [ + "field" => "status_label", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/hardware/table.status'), + "visible" => true, + "formatter" => "statuslabelsLinkObjFormatter" + ], [ + "field" => "assigned_to", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/hardware/form.checkedout_to'), + "visible" => true, + "formatter" => "usersLinkObjFormatter" + ],[ + "field" => "location", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/hardware/table.location'), + "visible" => true, + "formatter" => "locationsLinkObjFormatter" + ], [ + "field" => "category", + "searchable" => true, + "sortable" => true, + "title" => trans('general.category'), + "visible" => true, + "formatter" => "categoriesLinkObjFormatter" ], [ "field" => "manufacturer", "searchable" => true, "sortable" => true, "title" => trans('general.manufacturer'), - "formatter" => "manufacturersLinkObjFormatter", - ], [ - "field" => "location", - "searchable" => true, - "sortable" => true, - "title" => trans('general.location'), - "formatter" => "locationsLinkObjFormatter", - ], [ - "field" => "qty", - "searchable" => false, - "sortable" => false, - "title" => trans('admin/accessories/general.total'), - ], [ - "field" => "min_qty", - "searchable" => false, - "sortable" => true, - "title" => trans('general.min_amt'), - ], [ - "field" => "remaining_qty", - "searchable" => false, - "sortable" => false, - "title" => trans('admin/accessories/general.remaining'), + "visible" => false, + "formatter" => "manufacturersLinkObjFormatter" ], [ "field" => "purchase_date", "searchable" => true, @@ -91,18 +139,39 @@ class AssetPresenter extends Presenter "visible" => false, "title" => trans('general.order_number'), ], [ - "field" => "actions", - "searchable" => false, - "sortable" => false, - "switchable" => false, - "title" => trans('table.actions'), - "formatter" => "accessoriesActionsFormatter", + "field" => "notes", + "searchable" => true, + "sortable" => true, + "visible" => false, + "title" => trans('general.notes'), ] ]; + $fields = CustomField::all(); + foreach ($fields as $field) { + $layout[] = ["field" => $field->convertUnicodeDbSlug(), + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => ($field->field_encrypted=='1') ? + ' '.e($field->name) : e($field->name), + "formatter" => null ]; + } + + $layout[] = [ + "field" => "actions", + "searchable" => false, + "sortable" => false, + "switchable" => false, + "title" => trans('table.actions'), + "formatter" => "hardwareActionsFormatter", + ]; + return json_encode($layout); } + + /** * Generate html link to this items name. * @return string @@ -230,3 +299,4 @@ class AssetPresenter extends Presenter return ''; } } + diff --git a/resources/views/hardware/index.blade.php b/resources/views/hardware/index.blade.php index 9f010119eb..5bb8233b17 100755 --- a/resources/views/hardware/index.blade.php +++ b/resources/views/hardware/index.blade.php @@ -68,51 +68,6 @@ 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 - {{ trans('general.id') }} - {{ trans('general.company') }} - {{ trans('admin/hardware/table.image') }} - {{ 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/hardware/form.warranty') }} - {{ trans('admin/hardware/form.expires') }} - @foreach(\App\Models\CustomField::all() as $field) - - - - @if ($field->field_encrypted=='1') - - @endif - - {{$field->name}} - - - @endforeach - {{ trans('general.created_at') }} - {{ trans('admin/hardware/table.change') }} - - {{ trans('table.actions') }} - - @@ -127,7 +82,8 @@ @include ('partials.bootstrap-table', [ 'exportFile' => 'assets-export', 'search' => true, - 'multiSort' => true + 'multiSort' => true, + 'columns' => \App\Presenters\AssetPresenter::dataTableLayout() ]) @stop