diff --git a/app/controllers/admin/ModelsController.php b/app/controllers/admin/ModelsController.php index 1bdcd7492b..f77304d185 100755 --- a/app/controllers/admin/ModelsController.php +++ b/app/controllers/admin/ModelsController.php @@ -350,5 +350,38 @@ class ModelsController extends AdminController $model = Model::find($modelId); return $model->show_mac_address; } + + public function getDataView($modelID) + { + $model = Model::withTrashed()->find($modelID); + $modelassets = $model->assets; + + $actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($modelassets) + { + if (($modelassets->assigned_to !='') && ($modelassets->assigned_to > 0)) { + return ''.Lang::get('general.checkin').''; + } else { + return ''.Lang::get('general.checkout').''; + } + }); + + return Datatable::collection($modelassets) + ->addColumn('name', function ($modelassets) { + return link_to('/hardware/'.$modelassets->id.'/view', $modelassets->name); + }) + ->addColumn('asset_tag', function ($modelassets) { + return link_to('/hardware/'.$modelassets->id.'/view', $modelassets->asset_tag); + }) + ->showColumns('serial') + ->addColumn('assigned_to', function ($modelassets) { + if ($modelassets->assigned_to) { + return link_to('/admin/users/'.$modelassets->assigned_to.'/view', $modelassets->assigneduser->fullName()); + } + }) + ->addColumn($actions) + ->searchColumns('name','asset_tag','serial','assigned_to''actions') + ->orderColumns('name','asset_tag','serial','assigned_to''actions') + ->make(); + } } diff --git a/app/routes.php b/app/routes.php index 77b45862e1..5055baa35e 100755 --- a/app/routes.php +++ b/app/routes.php @@ -31,6 +31,7 @@ Route::group(array('prefix' => 'api', 'namespace' => 'Controllers\Admin', 'befor Route::resource('/', 'ModelsController'); Route::get('list/{status?}', array('as'=>'api.models.list', 'uses'=>'ModelsController@getDatatable')); Route::get('{modelId}/check', array('as' => 'api.models.check', 'uses' => 'ModelsController@checkModel')); + Route::get('{modelID}/view', array('as'=>'api.models.view', 'uses'=>'ModelsController@getDataView')); }); /*--- Categories API---*/ Route::group(array('prefix'=>'categories'), function() { diff --git a/app/views/backend/models/view.blade.php b/app/views/backend/models/view.blade.php index 9e639bb29a..daa742d2ea 100755 --- a/app/views/backend/models/view.blade.php +++ b/app/views/backend/models/view.blade.php @@ -52,51 +52,56 @@ @if (count($model->assets) > 0) -
| @lang('general.name') | -@lang('general.asset_tag') | -@lang('admin/hardware/table.serial') | -@lang('general.user') | -@lang('table.actions') | -
|---|---|---|---|---|
| {{{ $modelassets->name }}} | -{{{ $modelassets->asset_tag }}} | -- @if ($modelassets->serial) - - {{{ $modelassets->serial }}} - - @endif - | -- @if ($modelassets->assigneduser) - - {{{ $modelassets->assigneduser->fullName() }}} - - @endif - | -- @if ($modelassets->assigned_to != 0) - Checkin - @else - Checkout - @endif - | - -