diff --git a/app/controllers/admin/AccessoriesController.php b/app/controllers/admin/AccessoriesController.php index 3693e05a4a..1052ae607d 100755 --- a/app/controllers/admin/AccessoriesController.php +++ b/app/controllers/admin/AccessoriesController.php @@ -389,5 +389,22 @@ class AccessoriesController extends AdminController ->make(); } + public function getDataView($accessoryID) + { + $accessory = Accessory::find($accessoryID); + $accessory_users = $accessory->users; + + $actions = new \Chumper\Datatable\Columns\FunctionColumn('actions',function($accessory_users){ + return 'Checkin'; + }); + + return Datatable::collection($accessory_users) + ->addColumn('name',function($accessory_users) + { + return link_to('/admin/users/'.$accessory_users->id.'/view', $accessory_users->fullName()); + }) + ->addColumn($actions) + ->make(); + } } diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index a77c0ffd9a..ae4cc5b8f1 100755 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -1030,13 +1030,4 @@ class AssetsController extends AdminController ->make(); } - - public function checkModel($id = null) { - if(Input::get('id')) { - $id = e(Input::get('id')); - } - $model = DB::table('models')->select('id','show_mac_address')->where('id','=',$id)->whereNull('deleted_at')->first(); - return $model->show_mac_address; - } - } diff --git a/app/controllers/admin/CategoriesController.php b/app/controllers/admin/CategoriesController.php index d46c18365c..476331ba84 100755 --- a/app/controllers/admin/CategoriesController.php +++ b/app/controllers/admin/CategoriesController.php @@ -11,6 +11,7 @@ use Sentry; use Str; use Validator; use View; +use Datatable; class CategoriesController extends AdminController { @@ -22,11 +23,8 @@ class CategoriesController extends AdminController public function getIndex() { - // Grab all the categories - $categories = Category::orderBy('created_at', 'DESC')->get(); - // Show the page - return View::make('backend/categories/index', compact('categories')); + return View::make('backend/categories/index'); } @@ -215,7 +213,65 @@ class CategoriesController extends AdminController } + public function getDatatable() + { + // Grab all the categories + $categories = Category::orderBy('created_at', 'DESC')->get(); + $actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function($categories) { + return ''; + }); + + return Datatable::collection($categories) + ->showColumns('name') + ->addColumn('category_type', function($categories) { + return ucwords($categories->category_type); + }) + ->addColumn('count', function($categories) { + return ($categories->category_type=='asset') ? link_to('/admin/settings/categories/'.$categories->id.'/view', $categories->assetscount()) : $categories->accessoriescount(); + }) + ->addColumn('acceptance', function($categories) { + return ($categories->require_acceptance=='1') ? '' : ''; + }) + ->addColumn('eula', function($categories) { + return ($categories->getEula()) ? '' : ''; + }) + ->addColumn($actions) + ->searchColumns('name','category_type','count','acceptance','eula','actions') + ->orderColumns('name','category_type','count','acceptance','eula','actions') + ->make(); + } + + public function getDataView($categoryID) { + $category = Category::find($categoryID); + $categoryassets = $category->assets; + + $actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($categoryassets) + { + if (($categoryassets->assigned_to !='') && ($categoryassets->assigned_to > 0)) { + return ''.Lang::get('general.checkin').''; + } else { + return ''.Lang::get('general.checkout').''; + } + }); + + return Datatable::collection($categoryassets) + ->addColumn('name', function ($categoryassets) { + return link_to('/hardware/'.$categoryassets->id.'/view', $categoryassets->name); + }) + ->addColumn('asset_tag', function ($categoryassets) { + return link_to('/hardware/'.$categoryassets->id.'/view', $categoryassets->asset_tag); + }) + ->addColumn('assigned_to', function ($categoryassets) { + if ($categoryassets->assigned_to) { + return link_to('/admin/users/'.$categoryassets->assigned_to.'/view', $categoryassets->assigneduser->fullName()); + } + }) + ->addColumn($actions) + ->searchColumns('name','asset_tag','assigned_to','actions') + ->orderColumns('name','asset_tag','assigned_to','actions') + ->make(); + } } diff --git a/app/controllers/admin/ModelsController.php b/app/controllers/admin/ModelsController.php index 1e548e3ce0..29ef9e400d 100755 --- a/app/controllers/admin/ModelsController.php +++ b/app/controllers/admin/ModelsController.php @@ -14,6 +14,7 @@ use Manufacturer; use Str; use Validator; use View; +use Datatable; class ModelsController extends AdminController { @@ -24,16 +25,8 @@ class ModelsController extends AdminController */ public function getIndex() { - // Grab all the models - $models = Model::orderBy('created_at', 'DESC'); - if (Input::get('Deleted')) { - $models->withTrashed()->Deleted(); - } - - $models = $models->with('category','assets','depreciation')->get(); - // Show the page - return View::make('backend/models/index', compact('models')); + return View::make('backend/models/index'); } /** @@ -315,6 +308,80 @@ class ModelsController extends AdminController return $view; } + + public function getDatatable($status = null) + { + $models = Model::orderBy('created_at', 'DESC')->with('category','assets','depreciation'); + ($status != 'Deleted') ?: $models->withTrashed()->Deleted();; + $models = $models->get(); + $actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function($models) { + if($models->deleted_at=='') { + return ''; + } else { + return ''; + } + }); + + return Datatable::collection($models) + ->addColumn('name', function ($models) { + return link_to('/hardware/models/'.$models->id.'/view', $models->name); + }) + ->showColumns('modelno') + ->addColumn('asset_count', function($models) { + return $models->assets->count(); + }) + ->addColumn('depreciation', function($models) { + return (($models->depreciation)&&($models->depreciation->id > 0)) ? $models->depreciation->name.' ('.$models->depreciation->months.')' : Lang::get('general.no_depreciation'); + }) + ->addColumn('category', function($models) { + return ($models->category) ? $models->category->name : ''; + }) + ->addColumn('eol', function($models) { + return ($models->eol) ? $models->eol.' '.Lang::get('general.months') : ''; + }) + ->addColumn($actions) + ->searchColumns('name','modelno','asset_count','depreciation','category','eol','actions') + ->orderColumns('name','modelno','asset_count','depreciation','category','eol','actions') + ->make(); + } + + public function checkModel($modelId) { + $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 691faf1924..14dbd4c96b 100755 --- a/app/routes.php +++ b/app/routes.php @@ -14,6 +14,7 @@ Route::group(array('prefix' => 'api', 'namespace' => 'Controllers\Admin', 'befor Route::group(array('prefix'=>'accessories'), function () { Route::resource('/', 'AccessoriesController'); Route::get('list', array('as'=>'api.accessories.list', 'uses'=>'AccessoriesController@getDatatable')); + Route::get('{accessoryID}/view', array('as'=>'api.accessories.view', 'uses'=>'AccessoriesController@getDataView')); }); /*---Users API---*/ Route::group(array('prefix'=>'users'), function() { @@ -25,6 +26,19 @@ Route::group(array('prefix' => 'api', 'namespace' => 'Controllers\Admin', 'befor Route::resource('/', 'LicensesController'); Route::get('list', array('as'=>'api.licenses.list', 'uses'=>'LicensesController@getDatatable')); }); + /*---Models API---*/ + Route::group(array('prefix'=>'models'), function() { + 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() { + Route::resource('/', 'CategoriesController'); + Route::get('list', array('as'=>'api.categories.list', 'uses'=>'CategoriesController@getDatatable')); + Route::get('{categoryID}/view', array('as'=>'api.categories.view', 'uses'=>'CategoriesController@getDataView')); + }); }); /* @@ -74,7 +88,6 @@ Route::group(array('prefix' => 'hardware', 'namespace' => 'Controllers\Admin', ' Route::get('{assetId}/deletefile/{fileId}', array('as' => 'delete/assetfile', 'uses' => 'AssetsController@getDeleteFile')); Route::get('{assetId}/showfile/{fileId}', array('as' => 'show/assetfile', 'uses' => 'AssetsController@displayFile')); Route::post('{assetId}/edit', 'AssetsController@postEdit'); - Route::get('check/model', array('as' => 'check.model', 'uses' => 'AssetsController@checkModel')); Route::post('bulkedit', array('as' => 'hardware/bulkedit', diff --git a/app/views/backend/accessories/index.blade.php b/app/views/backend/accessories/index.blade.php index 0dc3f735c0..f9213dfa50 100755 --- a/app/views/backend/accessories/index.blade.php +++ b/app/views/backend/accessories/index.blade.php @@ -24,9 +24,9 @@ Lang::get('admin/accessories/general.total'), Lang::get('admin/accessories/general.remaining'), Lang::get('table.actions')) - ->setUrl(route('api.accessories.list')) // this is the route where data will be retrieved ->setOptions( array( + 'sAjaxSource'=>route('api.accessories.list'), 'deferRender'=> true, 'stateSave'=> true, 'stateDuration'=> -1, @@ -35,36 +35,49 @@ 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', 'aButtons'=>array( array( - 'sExtends'=>'copy', - 'mColumns'=> array(0,1,2), - ), - 'print', + 'sExtends'=>'copy', + 'sButtonText'=>'Copy', + 'mColumns'=>array(0,1,2), + 'bFooter'=>false, + ), + array( + 'sExtends'=>'print', + 'sButtonText'=>'Print', + 'mColumns'=>array(0,1,2), + 'bShowAll'=>true, + 'bFooter'=>true, + ), array( 'sExtends'=>'collection', 'sButtonText'=>'Export', 'aButtons'=>array( array( - 'sExtends'=>'csv', - 'mColumns'=> array(0,1,2), - ), + 'sExtends'=>'csv', + 'sButtonText'=>'csv', + 'mColumns'=>array(0,1,2), + 'bFooter'=>false, + ), array( - 'sExtends'=>'xls', - 'mColumns'=> array(0,1,2), - ), + 'sExtends'=>'xls', + 'sButtonText'=>'XLS', + 'mColumns'=>array(0,1,2), + 'bFooter'=>false, + ), array( - 'sExtends'=>'pdf', - 'mColumns'=> array(0,1,2), - ), - ), + 'sExtends'=>'pdf', + 'sButtonText'=>'PDF', + 'mColumns'=>array(0,1,2), + 'bFooter'=>false, + ) + ) ), ) ), 'columnDefs'=> array( array('bSortable'=>false,'targets'=>array(3)), - array('width'=>'20%','targets'=>array(3)), ), 'order'=>array(array(0,'asc')), - 'bProcessing'=>true, + 'processing'=>true, 'oLanguage'=>array( 'sProcessing'=>' Loading...', ), diff --git a/app/views/backend/accessories/view.blade.php b/app/views/backend/accessories/view.blade.php index fb295a878e..07f6fd12b2 100644 --- a/app/views/backend/accessories/view.blade.php +++ b/app/views/backend/accessories/view.blade.php @@ -31,35 +31,52 @@ @if ($accessory->users->count() > 0) - - - - - - - - - - @foreach ($accessory->users as $accessory_users) - - - - - - @endforeach - - - -
@lang('general.user')@lang('table.actions')
- - - {{{ $accessory_users->fullName() }}} - - - - - Checkin -
+ {{ Datatable::table() + ->addColumn(Lang::get('general.user'), + Lang::get('table.actions')) + ->setOptions( + array( + 'sAjaxSource'=>route('api.accessories.view', $accessory->id), + 'deferRender'=> true, + 'stateSave'=> true, + 'stateDuration'=> -1, + 'dom' =>'T<"clear">lfrtip', + 'tableTools' => array( + 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', + 'aButtons'=>array( + array( + 'sExtends'=>'copy', + ), + 'print', + array( + 'sExtends'=>'collection', + 'sButtonText'=>'Export', + 'aButtons'=>array( + array( + 'sExtends'=>'csv', + ), + array( + 'sExtends'=>'xls', + ), + array( + 'sExtends'=>'pdf', + ), + ), + ), + ) + ), + 'columnDefs'=> array( + array('bSortable'=>false,'targets'=>array(1)), + array('width'=>'auto','targets'=>array(1)), + ), + 'order'=>array(array(0,'asc')), + 'processing'=>true, + 'oLanguage'=>array( + 'sProcessing'=>' Loading...', + ), + ) + ) + ->render() }} @else
diff --git a/app/views/backend/categories/index.blade.php b/app/views/backend/categories/index.blade.php index f14f64dfa8..ae966a3617 100755 --- a/app/views/backend/categories/index.blade.php +++ b/app/views/backend/categories/index.blade.php @@ -17,59 +17,57 @@
-
-
- -
- - - - - - - - - - - - - @foreach ($categories as $category) - - - - - - - - - @endforeach - -
@lang('admin/categories/table.title')@lang('general.type')@lang('general.assets')@lang('admin/categories/table.require_acceptance')@lang('admin/categories/table.eula_text')@lang('table.actions')
{{{ $category->name }}}{{{ ucwords($category->category_type) }}} - @if ($category->category_type=='asset') - {{ $category->assetscount() }} - @elseif ($category->category_type=='accessory') - {{ $category->accessoriescount() }} - @endif - {{ ($category->require_acceptance=='1') ? '' : ''}}{{ ($category->getEula()) ? '' : ''}} - - - -
+
+
+ {{ Datatable::table() + ->addColumn(Lang::get('admin/categories/table.title'), + Lang::get('general.type'), + Lang::get('general.assets'), + Lang::get('admin/categories/table.require_acceptance'), + Lang::get('admin/categories/table.eula_text'), + Lang::get('table.actions')) + ->setOptions( + array( + 'sAjaxSource'=> route('api.categories.list'), + 'deferRender'=> true, + 'stateSave'=> true, + 'stateDuration'=> -1, + 'dom' =>'CT<"clear">lfrtip', + 'tableTools' => array( + 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', + 'aButtons'=>array( + 'copy', + 'print', + array( + 'sExtends'=>'collection', + 'sButtonText'=>'Export', + 'aButtons'=>array( + 'csv', + 'xls', + 'pdf' + ) + ) + ) + ), + 'colVis'=> array('showAll'=>'Show All','restore'=>'Restore','exclude'=>array(5),'activate'=>'mouseover'), + 'columnDefs'=> array(array('bSortable'=>false,'targets'=>array(5))), + 'order'=>array(array(0,'asc')), + 'processing'=>true, + 'oLanguage'=>array( + 'sProcessing'=>' Loading...', + ), + ) + ) + ->render() }} +
-
-
- - - -
-

-
@lang('admin/categories/general.about_asset_categories')
-

@lang('admin/categories/general.about_categories')

- -
-
+ +
+

+
@lang('admin/categories/general.about_asset_categories')
+

@lang('admin/categories/general.about_categories')

+
+
@stop diff --git a/app/views/backend/categories/view.blade.php b/app/views/backend/categories/view.blade.php index 845a2e7f44..d5a0a49ea8 100644 --- a/app/views/backend/categories/view.blade.php +++ b/app/views/backend/categories/view.blade.php @@ -39,43 +39,54 @@ @if (count($category->assets) > 0) - - - - - - - - - - - - @foreach ($category->assets as $modelassets) - - - - - - - - @endforeach - - - -
@lang('general.name')@lang('general.asset_tag')@lang('general.user')@lang('table.actions')
{{{ $modelassets->name }}}{{{ $modelassets->asset_tag }}} - @if ($modelassets->assigneduser) - - {{{ $modelassets->assigneduser->fullName() }}} - - @endif - - @if ($modelassets->assigned_to != 0) - Checkin - @else - Checkout - @endif -
- + {{ Datatable::table() + ->addColumn(Lang::get('general.name'), + Lang::get('general.asset_tag'), + Lang::get('general.user'), + Lang::get('table.actions')) + ->setOptions( + array( + 'sAjaxSource'=>route('api.categories.view', $category->id), + 'deferRender'=> true, + 'stateSave'=> true, + 'stateDuration'=> -1, + 'dom' =>'T<"clear">lfrtip', + 'tableTools' => array( + 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', + 'aButtons'=>array( + array( + 'sExtends'=>'copy', + ), + 'print', + array( + 'sExtends'=>'collection', + 'sButtonText'=>'Export', + 'aButtons'=>array( + array( + 'sExtends'=>'csv', + ), + array( + 'sExtends'=>'xls', + ), + array( + 'sExtends'=>'pdf', + ), + ), + ), + ) + ), + 'columnDefs'=> array( + array('bSortable'=>false,'targets'=>array(3)), + array('width'=>'auto','targets'=>array(3)), + ), + 'order'=>array(array(0,'asc')), + 'processing'=>true, + 'oLanguage'=>array( + 'sProcessing'=>' Loading...', + ), + ) + ) + ->render() }} @else
diff --git a/app/views/backend/hardware/edit.blade.php b/app/views/backend/hardware/edit.blade.php index 7bf6a804c1..dee143bb86 100755 --- a/app/views/backend/hardware/edit.blade.php +++ b/app/views/backend/hardware/edit.blade.php @@ -220,12 +220,14 @@ var $eventSelect = $(".model"); $eventSelect.on("change", function () { mac_add($eventSelect.val()); }); $(function() { - mac_add($(".model option:selected").val()); + var mac = $(".model option:selected").val(); + if(mac!=''){ + mac_add(mac); + } }); function mac_add(id) { $.ajax({ - url: '{{ route('check.model') }}', - data: 'id=' + id, + url: "{{Config::get('app.url')}}/api/models/"+id+"/check", success: function(data) { if(data == true){ $("#mac_address").css("display", "block"); diff --git a/app/views/backend/licenses/index.blade.php b/app/views/backend/licenses/index.blade.php index f9f42b695d..7c291288ef 100755 --- a/app/views/backend/licenses/index.blade.php +++ b/app/views/backend/licenses/index.blade.php @@ -24,9 +24,9 @@ Lang::get('admin/licenses/form.remaining_seats'), Lang::get('admin/licenses/table.purchase_date'), Lang::get('table.actions')) - ->setUrl(route('api.licenses.list')) // this is the route where data will be retrieved ->setOptions( array( + 'sAjaxSource'=>route('api.licenses.list'), 'deferRender'=> true, 'stateSave'=> true, 'stateDuration'=> -1, @@ -53,7 +53,7 @@ array('width'=>'20%','targets'=>array(5)), ), 'order'=>array(array(0,'asc')), - 'bProcessing'=>true, + 'processing'=>true, 'oLanguage'=>array( 'sProcessing'=>' Loading...', ), diff --git a/app/views/backend/models/index.blade.php b/app/views/backend/models/index.blade.php index d7f78631da..80b1cf3145 100755 --- a/app/views/backend/models/index.blade.php +++ b/app/views/backend/models/index.blade.php @@ -12,73 +12,56 @@
- - - - - - - - - - - - - - @foreach ($models as $model) - - - - - - - - - - - - @endforeach - -
@lang('admin/models/table.title')@lang('admin/models/table.modelnumber')@lang('admin/models/table.numassets')@lang('general.depreciation')@lang('general.category')@lang('general.eol')@lang('table.actions')
{{{ $model->name }}}{{{ $model->modelno }}}{{ ($model->assets->count()) }} - - @if (($model->depreciation) && ($model->depreciation->id > 0)) {{{ $model->depreciation->name }}} - ({{{ $model->depreciation->months }}} - @lang('general.months') - ) - @else - @lang('general.no_depreciation') - @endif - - - @if ($model->category) {{{ $model->category->name }}} - @endif - - - @if ($model->eol) {{{ $model->eol }}} - @lang('general.months') - @else - -- - @endif - - - @if($model->deleted_at=="") - - - @else - - @endif -
+ {{ Datatable::table() + ->addColumn(Lang::get('admin/models/table.title'), + Lang::get('admin/models/table.modelnumber'), + Lang::get('admin/models/table.numassets'), + Lang::get('general.depreciation'), + Lang::get('general.category'), + Lang::get('general.eol'), + Lang::get('table.actions')) + ->setOptions( + array( + 'sAjaxSource'=> route('api.models.list', Input::get('status')), + 'deferRender'=> true, + 'stateSave'=> true, + 'stateDuration'=> -1, + 'dom' =>'CT<"clear">lfrtip', + 'tableTools' => array( + 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', + 'aButtons'=>array( + 'copy', + 'print', + array( + 'sExtends'=>'collection', + 'sButtonText'=>'Export', + 'aButtons'=>array( + 'csv', + 'xls', + 'pdf' + ) + ) + ) + ), + 'colVis'=> array('showAll'=>'Show All','restore'=>'Restore','exclude'=>array(6),'activate'=>'mouseover'), + 'columnDefs'=> array(array('bSortable'=>false,'targets'=>array(6))), + 'order'=>array(array(0,'asc')), + 'processing'=>true, + 'oLanguage'=>array( + 'sProcessing'=>' Loading...', + ), + ) + ) + ->render() }} @stop 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) - - - - - - - - - - - - - @foreach ($model->assets as $modelassets) - - - - - - - - - @endforeach - - - -
@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 -
- + {{ Datatable::table() + ->addColumn(Lang::get('general.name'), + Lang::get('general.asset_tag'), + Lang::get('admin/hardware/table.serial'), + Lang::get('general.user'), + Lang::get('table.actions')) + ->setOptions( + array( + 'sAjaxSource'=>route('api.models.view', $model->id), + 'deferRender'=> true, + 'stateSave'=> true, + 'stateDuration'=> -1, + 'dom' =>'CT<"clear">lfrtip', + 'tableTools' => array( + 'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf', + 'aButtons'=>array( + array( + 'sExtends'=>'copy', + ), + 'print', + array( + 'sExtends'=>'collection', + 'sButtonText'=>'Export', + 'aButtons'=>array( + array( + 'sExtends'=>'csv', + ), + array( + 'sExtends'=>'xls', + ), + array( + 'sExtends'=>'pdf', + ), + ), + ), + ) + ), + 'colVis'=> array('showAll'=>'Show All','restore'=>'Restore','exclude'=>array(4),'activate'=>'mouseover'), + 'columnDefs'=> array( + array('bSortable'=>false,'targets'=>array(4)), + array('width'=>'auto','targets'=>array(4)), + ), + 'order'=>array(array(0,'asc')), + 'processing'=>true, + 'oLanguage'=>array( + 'sProcessing'=>' Loading...', + ), + ) + ) + ->render() }} @else