From 6a89728380e67197b89d5073a24c2c98b7b28ec4 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 10 Mar 2015 15:06:24 -0700 Subject: [PATCH] First shot at datatables for assets --- app/controllers/admin/AssetsController.php | 68 +++++----- app/routes.php | 3 + app/views/backend/hardware/index.blade.php | 145 +-------------------- 3 files changed, 43 insertions(+), 173 deletions(-) diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index 8a82ec8136..347a21fc89 100755 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -23,6 +23,7 @@ use Location; use Log; use DNS2D; use Mail; +use Datatable; class AssetsController extends AdminController { @@ -36,40 +37,7 @@ class AssetsController extends AdminController public function getIndex() { - // Grab all the assets - - $assets = Asset::with('model','assigneduser','assetstatus','defaultLoc','assetlog')->Hardware(); - // Filter results - if (Input::get('Pending')) { - $assets->Pending(); - } elseif (Input::get('RTD')) { - $assets->RTD(); - } elseif (Input::get('Undeployable')) { - $assets->Undeployable(); - } elseif (Input::get('Archived')) { - $assets->Archived(); - } elseif (Input::get('Requestable')) { - $assets->RequestableAssets(); - } elseif (Input::get('Deployed')) { - $assets->Deployed(); - } elseif (Input::get('Deleted')) { - $assets->withTrashed()->Deleted(); - } - - $assets = $assets->orderBy('asset_tag', 'ASC')->get(); - - - // Paginate the users - /**$assets = $assets->paginate(Setting::getSettings()->per_page) - ->appends(array( - 'Pending' => Input::get('Pending'), - 'RTD' => Input::get('RTD'), - 'Undeployable' => Input::get('Undeployable'), - 'Deployed' => Input::get('Deployed'), - )); - **/ - - return View::make('backend/hardware/index', compact('assets')); + return View::make('backend/hardware/index'); } @@ -909,6 +877,38 @@ class AssetsController extends AdminController } + public function getDatatable() + { + //return Datatable::collection(Asset::all(array('id', 'name', 'asset_tag', 'serial'))) + + $assets = Asset::with('model','assigneduser','assetstatus','defaultLoc','assetlog')->Hardware(); + // Filter results + if (Input::get('Pending')) { + $assets->Pending(); + } elseif (Input::get('RTD')) { + $assets->RTD(); + } elseif (Input::get('Undeployable')) { + $assets->Undeployable(); + } elseif (Input::get('Archived')) { + $assets->Archived(); + } elseif (Input::get('Requestable')) { + $assets->RequestableAssets(); + } elseif (Input::get('Deployed')) { + $assets->Deployed(); + } elseif (Input::get('Deleted')) { + $assets->withTrashed()->Deleted(); + } + + $assets = $assets->orderBy('asset_tag', 'ASC')->get(); + + return Datatable::collection($assets) + ->showColumns('name', 'asset_tag', 'serial') + ->searchColumns('name', 'asset_tag', 'serial') + ->orderColumns('name', 'asset_tag', 'serial') + ->make(); + } + + } diff --git a/app/routes.php b/app/routes.php index 438bb55939..a7d098d73a 100755 --- a/app/routes.php +++ b/app/routes.php @@ -18,6 +18,9 @@ Route::group(array('prefix' => 'hardware', 'namespace' => 'Controllers\Admin', ' 'uses' => 'AssetsController@getIndex') ); + Route::resource('hardware', 'AssetsController'); + Route::get('api/hardware', array('as'=>'api.hardware', 'uses'=>'AssetsController@getDatatable')); + Route::get('create/{model?}', array( 'as' => 'create/hardware', 'uses' => 'AssetsController@getCreate') diff --git a/app/views/backend/hardware/index.blade.php b/app/views/backend/hardware/index.blade.php index 7abf903efa..90dcc7fa1a 100755 --- a/app/views/backend/hardware/index.blade.php +++ b/app/views/backend/hardware/index.blade.php @@ -42,10 +42,6 @@
- - - -@if ($assets->count() > 0) {{ Form::open([ @@ -55,138 +51,19 @@ -
- +{{ Datatable::table() + ->addColumn('name', 'asset_tag', 'serial', 'assigned_to') // these are the column headings to be shown + ->setUrl(route('api.hardware')) // this is the route where data will be retrieved + ->render() }} - - - - - - @if (Setting::getSettings()->display_asset_name) - - - @endif - - - - @if (Input::get('Deployed') && Setting::getSettings()->display_checkout_date) - - - @endif - @if (Setting::getSettings()->display_eol) - - - @endif - - - - - - - - - - - - @foreach ($assets as $asset) - - - - - - @if (Setting::getSettings()->display_asset_name) - - @endif - - - - - - - - - - @if (Input::get('Deployed') && Setting::getSettings()->display_checkout_date) - - @endif - @if (Setting::getSettings()->display_eol) - - @endif - - - - - @endforeach - -
@lang('admin/hardware/table.asset_tag')@lang('admin/hardware/table.asset_model')@lang('general.name')@lang('admin/hardware/table.serial')@lang('general.status')@lang('admin/hardware/table.location')@lang('admin/hardware/table.checkout_date')@lang('admin/hardware/table.eol')@lang('admin/hardware/table.change')@lang('table.actions')
{{{ $asset->asset_tag }}}{{{ $asset->model->name }}}{{{ $asset->name }}}{{{ $asset->serial }}} - @if (Input::get('Pending')) - @lang('general.pending') - @elseif (Input::get('RTD')) - @lang('general.ready_to_deploy') - @elseif (Input::get('Undeployable')) - @if ($asset->assetstatus) - {{{ $asset->assetstatus->name }}} - @endif - @else - @if ($asset->assigneduser) - - {{{ $asset->assigneduser->fullName() }}} - - @else - @if ($asset->assetstatus) - {{{ $asset->assetstatus->name }}} - @endif - @endif - @endif - - @if ($asset->assigneduser && $asset->assetloc) - {{{ $asset->assetloc->name }}} - @elseif ($asset->defaultLoc) - {{{ $asset->defaultLoc->name }}} - - @endif - - - @if (count($asset->assetlog) > 0) - {{{ $asset->assetlog->first()->created_at }}} - @endif - - @if ($asset->model->eol) - {{{ $asset->eol_date() }}} - @endif - - - @if (($asset->assetstatus) && (($asset->assetstatus->deployable == 1 ) && ($asset->deleted_at==''))) - @if (($asset->assigned_to !='') && ($asset->assigned_to > 0)) - @lang('general.checkin') - @else - @lang('general.checkout') - @endif - @endif - - - - @if ($asset->deleted_at=='') - - - @else - @if ($asset->model->deleted_at=='') - - @endif - @endif - -
{{ Form::close() }}
-@else -
-
- - @lang('general.no_results') -
-
-
- -@endif @stop