Merge pull request #689 from madd15/feat/more-tables
Convert to Datatables - Models, Categories and Accessories
This commit is contained in:
@@ -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 '<a href="'.route('checkin/accessory', $accessory_users->pivot->id).'" class="btn-flat info">Checkin</a>';
|
||||
});
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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 '<a href="'.route('update/category', $categories->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/category', $categories->id).'" data-content="'.Lang::get('admin/categories/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($categories->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
|
||||
});
|
||||
|
||||
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') ? '<i class="fa fa-check" style="margin-right:50%;margin-left:50%;"></i>' : '';
|
||||
})
|
||||
->addColumn('eula', function($categories) {
|
||||
return ($categories->getEula()) ? '<i class="fa fa-check" style="margin-right:50%;margin-left:50%;"></i></a>' : '';
|
||||
})
|
||||
->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 '<a href="'.route('checkin/hardware', $categoryassets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
|
||||
} else {
|
||||
return '<a href="'.route('checkout/hardware', $categoryassets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
|
||||
}
|
||||
});
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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 '<a href="'.route('update/model', $models->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/model', $models->id).'" data-content="'.Lang::get('admin/models/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($models->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
|
||||
} else {
|
||||
return '<a href="'.route('restore/model', $models->id).'" class="btn btn-warning btn-sm"><i class="fa fa-recycle icon-white"></i></a>';
|
||||
}
|
||||
});
|
||||
|
||||
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 '<a href="'.route('checkin/hardware', $modelassets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
|
||||
} else {
|
||||
return '<a href="'.route('checkout/hardware', $modelassets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
|
||||
}
|
||||
});
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+14
-1
@@ -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',
|
||||
|
||||
@@ -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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
|
||||
@@ -31,35 +31,52 @@
|
||||
|
||||
<!-- checked out accessories table -->
|
||||
@if ($accessory->users->count() > 0)
|
||||
<table id="example">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th class="col-md-11">@lang('general.user')</th>
|
||||
<th class="col-md-1">@lang('table.actions')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach ($accessory->users as $accessory_users)
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<a href="{{ route('view/user', $accessory_users->id) }}">
|
||||
{{{ $accessory_users->fullName() }}}
|
||||
|
||||
</a>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('checkin/accessory', $accessory_users->pivot->id) }}" class="btn-flat info">Checkin</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
{{ 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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
)
|
||||
)
|
||||
->render() }}
|
||||
|
||||
@else
|
||||
<div class="col-md-9">
|
||||
|
||||
@@ -17,59 +17,57 @@
|
||||
</div>
|
||||
|
||||
<div class="user-profile">
|
||||
<div class="row profile">
|
||||
<div class="col-md-9 bio">
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="example">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th class="col-md-5" bSortable="true">@lang('admin/categories/table.title')</th>
|
||||
<th class="col-md-2" bSortable="true">@lang('general.type')</th>
|
||||
<th class="col-md-2" bSortable="true">@lang('general.assets')</th>
|
||||
<th class="col-md-3" bSortable="true">@lang('admin/categories/table.require_acceptance')</th>
|
||||
<th class="col-md-2" bSortable="true">@lang('admin/categories/table.eula_text')</th>
|
||||
<th class="col-md-2 actions" bSortable="true">@lang('table.actions')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($categories as $category)
|
||||
<tr>
|
||||
<td>{{{ $category->name }}}</td>
|
||||
<td>{{{ ucwords($category->category_type) }}}</td>
|
||||
<td>
|
||||
@if ($category->category_type=='asset')
|
||||
<a href="{{ route('view/category',$category->id) }}">{{ $category->assetscount() }}</a>
|
||||
@elseif ($category->category_type=='accessory')
|
||||
{{ $category->accessoriescount() }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ ($category->require_acceptance=='1') ? '<i class="fa fa-check"></i>' : ''}}</td>
|
||||
<td>{{ ($category->getEula()) ? '<i class="fa fa-check"></i>' : ''}}</td>
|
||||
<td>
|
||||
<a href="{{ route('update/category', $category->id) }}" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a>
|
||||
<a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="{{ route('delete/category', $category->id) }}" data-content="@lang('admin/categories/message.delete.confirm')"
|
||||
data-title="@lang('general.delete')
|
||||
{{{ htmlspecialchars($category->name) }}}?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row profile">
|
||||
<div class="col-md-9 bio">
|
||||
{{ 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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
)
|
||||
)
|
||||
->render() }}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- side address column -->
|
||||
<div class="col-md-3 col-xs-12 address pull-right">
|
||||
<br /><br />
|
||||
<h6>@lang('admin/categories/general.about_asset_categories')</h6>
|
||||
<p>@lang('admin/categories/general.about_categories') </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- side address column -->
|
||||
<div class="col-md-3 col-xs-12 address pull-right">
|
||||
<br /><br />
|
||||
<h6>@lang('admin/categories/general.about_asset_categories')</h6>
|
||||
<p>@lang('admin/categories/general.about_categories') </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
||||
@@ -39,43 +39,54 @@
|
||||
|
||||
<!-- checked out categories table -->
|
||||
@if (count($category->assets) > 0)
|
||||
<table id="example">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th class="col-md-3">@lang('general.name')</th>
|
||||
<th class="col-md-3">@lang('general.asset_tag')</th>
|
||||
<th class="col-md-3">@lang('general.user')</th>
|
||||
<th class="col-md-2">@lang('table.actions')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach ($category->assets as $modelassets)
|
||||
<tr>
|
||||
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{{ $modelassets->name }}}</a></td>
|
||||
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{{ $modelassets->asset_tag }}}</a></td>
|
||||
<td>
|
||||
@if ($modelassets->assigneduser)
|
||||
<a href="{{ route('view/user', $modelassets->assigned_to) }}">
|
||||
{{{ $modelassets->assigneduser->fullName() }}}
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($modelassets->assigned_to != 0)
|
||||
<a href="{{ route('checkin/hardware', $modelassets->id) }}" class="btn-flat info">Checkin</a>
|
||||
@else
|
||||
<a href="{{ route('checkout/hardware', $modelassets->id) }}" class="btn-flat success">Checkout</a>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{ 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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
)
|
||||
)
|
||||
->render() }}
|
||||
@else
|
||||
<div class="col-md-9">
|
||||
<div class="alert alert-info alert-block">
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
|
||||
@@ -12,73 +12,56 @@
|
||||
<div class="row header">
|
||||
<div class="col-md-12">
|
||||
<a href="{{ route('create/model') }}" class="btn btn-success pull-right"><i class="fa fa-plus icon-white"></i> @lang('general.create')</a>
|
||||
@if(Input::get('Deleted'))
|
||||
<a href="{{ URL::to('hardware/models') }}" class="btn btn-default pull-right"><i class="fa fa-trash"></i> @lang('admin/models/general.view_models')</a>
|
||||
@if(Input::get('status')=='Deleted')
|
||||
<a href="{{ URL::to('hardware/models') }}" class="btn btn-default pull-right" style="margin-right:5px;"><i class="fa fa-trash"></i> @lang('admin/models/general.view_models')</a>
|
||||
@else
|
||||
<a href="{{ URL::to('hardware/models?Deleted=true') }}" class="btn btn-default pull-right"><i class="fa fa-trash"></i> @lang('admin/models/general.view_deleted')</a>
|
||||
<a href="{{ URL::to('hardware/models?status=Deleted') }}" class="btn btn-default pull-right" style="margin-right:5px;"><i class="fa fa-trash"></i> @lang('admin/models/general.view_deleted')</a>
|
||||
@endif
|
||||
<h3>@lang('admin/models/table.title')</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row form-wrapper">
|
||||
<table id="example">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th class="col-md-3">@lang('admin/models/table.title')</th>
|
||||
<th class="col-md-2">@lang('admin/models/table.modelnumber')</th>
|
||||
<th class="col-md-1">@lang('admin/models/table.numassets')</th>
|
||||
<th class="col-md-2">@lang('general.depreciation')</th>
|
||||
<th class="col-md-2">@lang('general.category')</th>
|
||||
<th class="col-md-2">@lang('general.eol')</th>
|
||||
<th class="col-md-2 actions">@lang('table.actions')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($models as $model)
|
||||
<tr>
|
||||
<td><a href="{{ route('view/model', $model->id) }}">{{{ $model->name }}}</a></td>
|
||||
<td>{{{ $model->modelno }}}</td>
|
||||
<td><a href="{{ route('view/model', $model->id) }}">{{ ($model->assets->count()) }}</a></td>
|
||||
<td>
|
||||
|
||||
@if (($model->depreciation) && ($model->depreciation->id > 0)) {{{ $model->depreciation->name }}}
|
||||
({{{ $model->depreciation->months }}}
|
||||
@lang('general.months')
|
||||
)
|
||||
@else
|
||||
@lang('general.no_depreciation')
|
||||
@endif
|
||||
|
||||
</td>
|
||||
<td>
|
||||
@if ($model->category) {{{ $model->category->name }}}
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td>
|
||||
|
||||
@if ($model->eol) {{{ $model->eol }}}
|
||||
@lang('general.months')
|
||||
@else
|
||||
--
|
||||
@endif
|
||||
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@if($model->deleted_at=="")
|
||||
<a href="{{ route('update/model', $model->id) }}" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a>
|
||||
<a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="{{ route('delete/model', $model->id) }}" data-content="@lang('admin/models/message.delete.confirm')"
|
||||
data-title="@lang('general.delete')
|
||||
{{ htmlspecialchars($model->name) }}?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>
|
||||
@else
|
||||
<a href="{{ route('restore/model', $model->id) }}" class="btn btn-warning btn-sm"><i class="fa fa-recycle icon-white"></i></a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{{ 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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
)
|
||||
)
|
||||
->render() }}
|
||||
|
||||
@stop
|
||||
|
||||
@@ -52,51 +52,56 @@
|
||||
|
||||
<!-- checked out models table -->
|
||||
@if (count($model->assets) > 0)
|
||||
<table id="example">
|
||||
<thead>
|
||||
<tr role="row">
|
||||
<th class="col-md-3">@lang('general.name')</th>
|
||||
<th class="col-md-3">@lang('general.asset_tag')</th>
|
||||
<th class="col-md-3">@lang('admin/hardware/table.serial')</th>
|
||||
<th class="col-md-3">@lang('general.user')</th>
|
||||
<th class="col-md-2">@lang('table.actions')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@foreach ($model->assets as $modelassets)
|
||||
<tr>
|
||||
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{{ $modelassets->name }}}</a></td>
|
||||
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{{ $modelassets->asset_tag }}}</a></td>
|
||||
<td>
|
||||
@if ($modelassets->serial)
|
||||
|
||||
{{{ $modelassets->serial }}}
|
||||
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($modelassets->assigneduser)
|
||||
<a href="{{ route('view/user', $modelassets->assigned_to) }}">
|
||||
{{{ $modelassets->assigneduser->fullName() }}}
|
||||
</a>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if ($modelassets->assigned_to != 0)
|
||||
<a href="{{ route('checkin/hardware', $modelassets->id) }}" class="btn-flat info">Checkin</a>
|
||||
@else
|
||||
<a href="{{ route('checkout/hardware', $modelassets->id) }}" class="btn-flat success">Checkout</a>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{ 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'=>'<i class="fa fa-spinner fa-spin"></i> Loading...',
|
||||
),
|
||||
)
|
||||
)
|
||||
->render() }}
|
||||
@else
|
||||
<div class="col-md-9">
|
||||
<div class="alert alert-info alert-block">
|
||||
|
||||
Reference in New Issue
Block a user