mirror of
https://github.com/snipe/snipe-it.git
synced 2025-01-11 13:57:41 -08:00
Depreciation detail view fixes [ch15776] (#9059)
* Allow sorting by months for depreciation list view * Added dataTableLayout to standardize the list display table * Implement the dataTableLayout() on the list view blade * Split the view into tabs so we can combine asset depreciations and license depreciations * Updated depreciation view to use tabbed interface for assets and licenses * Added asset models to depreciation details page * Make asset model category sortable * Added cateory as allowed to be sorted on * Added category sort scope * Removed offset variable * Small fixes to asset modes display in depreciation to bulk edit models
This commit is contained in:
parent
70e6a6ced6
commit
fdb5b3baf1
|
@ -30,7 +30,20 @@ class AssetModelsController extends Controller
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$this->authorize('view', AssetModel::class);
|
$this->authorize('view', AssetModel::class);
|
||||||
$allowed_columns = ['id','image','name','model_number','eol','notes','created_at','manufacturer','requestable', 'assets_count'];
|
$allowed_columns =
|
||||||
|
[
|
||||||
|
'id',
|
||||||
|
'image',
|
||||||
|
'name',
|
||||||
|
'model_number',
|
||||||
|
'eol',
|
||||||
|
'notes',
|
||||||
|
'created_at',
|
||||||
|
'manufacturer',
|
||||||
|
'requestable',
|
||||||
|
'assets_count',
|
||||||
|
'category'
|
||||||
|
];
|
||||||
|
|
||||||
$assetmodels = AssetModel::select([
|
$assetmodels = AssetModel::select([
|
||||||
'models.id',
|
'models.id',
|
||||||
|
@ -75,16 +88,16 @@ class AssetModelsController extends Controller
|
||||||
case 'manufacturer':
|
case 'manufacturer':
|
||||||
$assetmodels->OrderManufacturer($order);
|
$assetmodels->OrderManufacturer($order);
|
||||||
break;
|
break;
|
||||||
|
case 'category':
|
||||||
|
$assetmodels->OrderCategory($order);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$assetmodels->orderBy($sort, $order);
|
$assetmodels->orderBy($sort, $order);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$total = $assetmodels->count();
|
|
||||||
$assetmodels = $assetmodels->skip($offset)->take($limit)->get();
|
$assetmodels = $assetmodels->skip($offset)->take($limit)->get();
|
||||||
return (new AssetModelsTransformer)->transformAssetModels($assetmodels, $total);
|
return (new AssetModelsTransformer)->transformAssetModels($assetmodels, $assetmodels->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -141,8 +141,6 @@ class AssetsController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$request->filled('order_number') ? $assets = $assets->where('assets.order_number', '=', e($request->get('order_number'))) : '';
|
$request->filled('order_number') ? $assets = $assets->where('assets.order_number', '=', e($request->get('order_number'))) : '';
|
||||||
$offset = (($assets) && (request('offset') > $assets->count())) ? 0 : request('offset', 0);
|
|
||||||
|
|
||||||
|
|
||||||
// Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which
|
// Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which
|
||||||
// case we override with the actual count, so we should return 0 items.
|
// case we override with the actual count, so we should return 0 items.
|
||||||
|
|
|
@ -20,7 +20,7 @@ class DepreciationsController extends Controller
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$this->authorize('view', Depreciation::class);
|
$this->authorize('view', Depreciation::class);
|
||||||
$allowed_columns = ['id','name','created_at'];
|
$allowed_columns = ['id','name','months','created_at'];
|
||||||
|
|
||||||
$depreciations = Depreciation::select('id','name','months','user_id','created_at','updated_at');
|
$depreciations = Depreciation::select('id','name','months','user_id','created_at','updated_at');
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,7 @@ class LicensesController extends Controller
|
||||||
'free_seats_count',
|
'free_seats_count',
|
||||||
'seats',
|
'seats',
|
||||||
'termination_date',
|
'termination_date',
|
||||||
|
'depreciation_id'
|
||||||
];
|
];
|
||||||
$sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
|
$sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
|
||||||
$licenses = $licenses->orderBy($sort, $order);
|
$licenses = $licenses->orderBy($sort, $order);
|
||||||
|
|
|
@ -8,7 +8,129 @@ namespace App\Presenters;
|
||||||
*/
|
*/
|
||||||
class AssetModelPresenter extends Presenter
|
class AssetModelPresenter extends Presenter
|
||||||
{
|
{
|
||||||
|
public static function dataTableLayout() {
|
||||||
|
|
||||||
|
$layout = [
|
||||||
|
[
|
||||||
|
"field" => "checkbox",
|
||||||
|
"checkbox" => true
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "id",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.id'),
|
||||||
|
"visible" => false
|
||||||
|
], [
|
||||||
|
"field" => "company",
|
||||||
|
"searchable" => true,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('admin/companies/table.title'),
|
||||||
|
"visible" => false,
|
||||||
|
"formatter" => "companiesLinkObjFormatter"
|
||||||
|
], [
|
||||||
|
"field" => "name",
|
||||||
|
"searchable" => true,
|
||||||
|
"sortable" => true,
|
||||||
|
"visible" => true,
|
||||||
|
"title" => trans('general.name'),
|
||||||
|
"formatter" => "modelsLinkFormatter"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "image",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.image'),
|
||||||
|
"visible" => true,
|
||||||
|
"formatter" => 'imageFormatter',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "manufacturer",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.manufacturer'),
|
||||||
|
"visible" => false,
|
||||||
|
"formatter" => 'manufacturersLinkObjFormatter',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "model_number",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('admin/models/table.modelnumber'),
|
||||||
|
"visible" => true,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "assets_count",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('admin/models/table.numassets'),
|
||||||
|
"visible" => true,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "depreciation",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.depreciation'),
|
||||||
|
"visible" => false,
|
||||||
|
"formatter" => "depreciationsLinkObjFormatter",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "category",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.category'),
|
||||||
|
"visible" => false,
|
||||||
|
"formatter" => "categoriesLinkObjFormatter",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "eol",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.eol'),
|
||||||
|
"visible" => true,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "fieldset",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('admin/models/general.fieldset'),
|
||||||
|
"visible" => true,
|
||||||
|
"formatter" => "fieldsetsLinkObjFormatter",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"field" => "notes",
|
||||||
|
"searchable" => true,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.notes'),
|
||||||
|
"visible" => false,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
$layout[] = [
|
||||||
|
"field" => "actions",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => false,
|
||||||
|
"switchable" => false,
|
||||||
|
"title" => trans('table.actions'),
|
||||||
|
"formatter" => "licensesActionsFormatter",
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
return json_encode($layout);
|
||||||
|
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Formatted note for this model
|
* Formatted note for this model
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -8,5 +8,49 @@ namespace App\Presenters;
|
||||||
*/
|
*/
|
||||||
class DepreciationPresenter extends Presenter
|
class DepreciationPresenter extends Presenter
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Json Column Layout for bootstrap table
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function dataTableLayout()
|
||||||
|
{
|
||||||
|
$layout = [
|
||||||
|
[
|
||||||
|
"field" => "id",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => true,
|
||||||
|
"switchable" => true,
|
||||||
|
"title" => trans('general.id'),
|
||||||
|
"visible" => false
|
||||||
|
], [
|
||||||
|
"field" => "name",
|
||||||
|
"searchable" => true,
|
||||||
|
"sortable" => true,
|
||||||
|
"title" => trans('general.name'),
|
||||||
|
"visible" => true,
|
||||||
|
"formatter" => 'depreciationsLinkFormatter',
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"field" => "months",
|
||||||
|
"searchable" => true,
|
||||||
|
"sortable" => true,
|
||||||
|
"title" => trans('admin/depreciations/table.term'),
|
||||||
|
"visible" => true,
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"field" => "actions",
|
||||||
|
"searchable" => false,
|
||||||
|
"sortable" => false,
|
||||||
|
"switchable" => false,
|
||||||
|
"title" => trans('table.actions'),
|
||||||
|
"visible" => true,
|
||||||
|
"formatter" => "depreciationsActionsFormatter",
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
return json_encode($layout);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{{-- Page title --}}
|
{{-- Page title --}}
|
||||||
@section('title')
|
@section('title')
|
||||||
Asset Depreciations
|
Depreciations
|
||||||
@parent
|
@parent
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ Asset Depreciations
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
|
||||||
<table
|
<table
|
||||||
|
data-columns="{{ \App\Presenters\DepreciationPresenter::dataTableLayout() }}"
|
||||||
data-cookie-id-table="depreciationsTable"
|
data-cookie-id-table="depreciationsTable"
|
||||||
data-pagination="true"
|
data-pagination="true"
|
||||||
data-id-table="depreciationsTable"
|
data-id-table="depreciationsTable"
|
||||||
|
@ -39,14 +40,6 @@ Asset Depreciations
|
||||||
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||||
}'>
|
}'>
|
||||||
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th data-sortable="true" data-field="id" data-visible="false">{{ trans('general.id') }}</th>
|
|
||||||
<th data-sortable="true" data-field="name">{{ trans('admin/depreciations/table.title') }}</th>
|
|
||||||
<th data-sortable="false" data-field="months">{{ trans('admin/depreciations/table.term') }}</th>
|
|
||||||
<th data-switchable="false" data-searchable="false" data-sortable="false" data-field="actions" data-formatter="depreciationsActionsFormatter">{{ trans('table.actions') }}</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
{{-- Page title --}}
|
{{-- Page title --}}
|
||||||
@section('title')
|
@section('title')
|
||||||
|
|
||||||
{{ trans('general.depreciation') }}
|
{{ trans('general.depreciation') }}: {{ $depreciation->name }} ({{ $depreciation->months }} {{ trans('general.months') }})
|
||||||
: {{ $depreciation->name }}
|
|
||||||
|
|
||||||
@parent
|
@parent
|
||||||
@stop
|
@stop
|
||||||
|
@ -26,37 +25,147 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="box box-default">
|
|
||||||
<div class="box-body">
|
|
||||||
|
<!-- Custom Tabs -->
|
||||||
|
<div class="nav-tabs-custom">
|
||||||
|
<ul class="nav nav-tabs">
|
||||||
|
<li class="active"><a href="#assets" data-toggle="tab">{{ trans('general.assets') }}</a></li>
|
||||||
|
<li><a href="#licenses" data-toggle="tab">{{ trans('general.licenses') }}</a></li>
|
||||||
|
<li><a href="#models" data-toggle="tab">{{ trans('general.asset_models') }}</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="tab-content">
|
||||||
|
|
||||||
|
<div class="tab-pane active" id="assets">
|
||||||
|
|
||||||
|
|
||||||
|
<table
|
||||||
|
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
||||||
|
data-cookie-id-table="depreciationsAssetTable"
|
||||||
|
data-id-table="depreciationsAssetTable"
|
||||||
|
id="depreciationsAssetTable"
|
||||||
|
data-pagination="true"
|
||||||
|
data-search="true"
|
||||||
|
data-side-pagination="server"
|
||||||
|
data-show-columns="true"
|
||||||
|
data-show-export="true"
|
||||||
|
data-show-refresh="true"
|
||||||
|
data-sort-order="asc"
|
||||||
|
data-sort-name="name"
|
||||||
|
class="table table-striped snipe-table"
|
||||||
|
data-url="{{ route('api.assets.index',['depreciation_id'=> $depreciation->id]) }}"
|
||||||
|
data-export-options='{
|
||||||
|
"fileName": "export-depreciations-{{ date('Y-m-d') }}",
|
||||||
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||||
|
}'>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div> <!-- end tab-pane -->
|
||||||
|
|
||||||
|
<!-- tab-pane -->
|
||||||
|
<div class="tab-pane" id="licenses">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="table table-responsive">
|
|
||||||
<table
|
|
||||||
name="location_users"
|
|
||||||
id="table-users"
|
|
||||||
class="table table-striped snipe-table"
|
|
||||||
data-url="{{ route('api.assets.index',['depreciation'=> $depreciation->id]) }}"
|
|
||||||
data-cookie="true"
|
|
||||||
data-click-to-select="true"
|
|
||||||
data-cookie-id-table="department_usersDetailTable">
|
|
||||||
<thead>
|
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
|
||||||
|
<table
|
||||||
|
data-columns="{{ \App\Presenters\LicensePresenter::dataTableLayout() }}"
|
||||||
|
data-cookie-id-table="depreciationsLicenseTable"
|
||||||
|
data-id-table="depreciationsLicenseTable"
|
||||||
|
id="depreciationsLicenseTable"
|
||||||
|
data-pagination="true"
|
||||||
|
data-search="true"
|
||||||
|
data-side-pagination="server"
|
||||||
|
data-show-columns="true"
|
||||||
|
data-show-export="true"
|
||||||
|
data-show-refresh="true"
|
||||||
|
data-sort-order="asc"
|
||||||
|
data-sort-name="name"
|
||||||
|
class="table table-striped snipe-table"
|
||||||
|
data-url="{{ route('api.licenses.index',['depreciation_id'=> $depreciation->id]) }}"
|
||||||
|
data-export-options='{
|
||||||
|
"fileName": "export-depreciations-{{ date('Y-m-d') }}",
|
||||||
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||||
|
}'>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div> <!--/.row-->
|
||||||
|
</div> <!-- /.tab-pane -->
|
||||||
|
|
||||||
|
<!-- tab-pane -->
|
||||||
|
<div class="tab-pane" id="models">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
{{ Form::open(
|
||||||
|
[
|
||||||
|
'method' => 'POST',
|
||||||
|
'route' => ['models.bulkedit.index'],
|
||||||
|
'class' => 'form-inline',
|
||||||
|
'id' => 'bulkForm']
|
||||||
|
) }}
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div id="toolbar">
|
||||||
|
<label for="bulk_actions" class="sr-only">Bulk Actions</label>
|
||||||
|
<select name="bulk_actions" class="form-control select2" aria-label="bulk_actions" style="width: 300px;">
|
||||||
|
<option value="edit">Bulk Edit</option>
|
||||||
|
<option value="delete">Bulk Delete</option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-primary" id="bulkEdit" disabled>Go</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table
|
||||||
|
data-columns="{{ \App\Presenters\AssetModelPresenter::dataTableLayout() }}"
|
||||||
|
data-cookie-id-table="depreciationsModelsTable"
|
||||||
|
data-id-table="depreciationsModelsTable"
|
||||||
|
id="depreciationsModelsTable"
|
||||||
|
data-pagination="true"
|
||||||
|
data-search="true"
|
||||||
|
data-toolbar="#toolbar"
|
||||||
|
data-side-pagination="server"
|
||||||
|
data-show-columns="true"
|
||||||
|
data-show-export="true"
|
||||||
|
data-show-refresh="true"
|
||||||
|
data-sort-order="asc"
|
||||||
|
data-sort-name="name"
|
||||||
|
class="table table-striped snipe-table"
|
||||||
|
data-url="{{ route('api.models.index',['depreciation_id'=> $depreciation->id]) }}"
|
||||||
|
data-export-options='{
|
||||||
|
"fileName": "export-depreciations-bymodel-{{ date('Y-m-d') }}",
|
||||||
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
||||||
|
}'>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
{{ Form::close() }}
|
||||||
|
|
||||||
|
</div> <!--/.row-->
|
||||||
|
</div> <!-- /.tab-pane -->
|
||||||
|
|
||||||
|
</div> <!-- /.tab-content -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div> <!-- /.tab-content -->
|
||||||
|
</div> <!-- nav-tabs-custom -->
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
@section('moar_scripts')
|
@section('moar_scripts')
|
||||||
@include ('partials.bootstrap-table', [
|
@include ('partials.bootstrap-table')
|
||||||
'exportFile' => 'assets-export',
|
|
||||||
'search' => true,
|
|
||||||
'columns' => \App\Presenters\AssetPresenter::dataTableLayout()
|
|
||||||
])
|
|
||||||
|
|
||||||
@stop
|
@stop
|
||||||
|
|
|
@ -22,11 +22,27 @@
|
||||||
|
|
||||||
<div class="box box-default">
|
<div class="box box-default">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
@foreach ($models as $model)
|
<div class="box-title"><i class="fa fa-warning"></i> You are about to edit the following: </div>
|
||||||
<span class="box-title"><strong>{{ $model->display_name }}</strong> ({{ $model->model_number }})</span><br />
|
|
||||||
@endforeach
|
|
||||||
</div>
|
</div>
|
||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
@foreach ($models as $model)
|
||||||
|
|
||||||
|
<tr{!! (($model->assets_count > 0 ) ? ' class="warning"' : ' class="success"') !!}>
|
||||||
|
<td>
|
||||||
|
<i class="fa {!! (($model->assets_count > 0 ) ? 'fa-warning info' : 'fa-check success') !!}"></i>
|
||||||
|
{{ $model->display_name }} ({{ $model->model_number }})
|
||||||
|
</td>
|
||||||
|
<td>{{ $model->assets_count }} assets
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="col-md-12" style="padding-top: 20px;">
|
||||||
<!-- manufacturer -->
|
<!-- manufacturer -->
|
||||||
@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id'])
|
@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id'])
|
||||||
|
|
||||||
|
@ -59,6 +75,7 @@
|
||||||
@foreach ($models as $model)
|
@foreach ($models as $model)
|
||||||
<input type="hidden" name="ids[{{ $model->id }}]" value="{{ $model->id }}">
|
<input type="hidden" name="ids[{{ $model->id }}]" value="{{ $model->id }}">
|
||||||
@endforeach
|
@endforeach
|
||||||
|
</div>
|
||||||
</div> <!--/.box-body-->
|
</div> <!--/.box-body-->
|
||||||
|
|
||||||
<div class="box-footer text-right">
|
<div class="box-footer text-right">
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
<th data-sortable="true" data-field="model_number">{{ trans('admin/models/table.modelnumber') }}</th>
|
<th data-sortable="true" data-field="model_number">{{ trans('admin/models/table.modelnumber') }}</th>
|
||||||
<th data-sortable="true" data-field="assets_count">{{ trans('admin/models/table.numassets') }}</th>
|
<th data-sortable="true" data-field="assets_count">{{ trans('admin/models/table.numassets') }}</th>
|
||||||
<th data-sortable="false" data-field="depreciation" data-formatter="depreciationsLinkObjFormatter">{{ trans('general.depreciation') }}</th>
|
<th data-sortable="false" data-field="depreciation" data-formatter="depreciationsLinkObjFormatter">{{ trans('general.depreciation') }}</th>
|
||||||
<th data-sortable="false" data-field="category" data-formatter="categoriesLinkObjFormatter">{{ trans('general.category') }}</th>
|
<th data-sortable="true" data-field="category" data-formatter="categoriesLinkObjFormatter">{{ trans('general.category') }}</th>
|
||||||
<th data-sortable="true" data-field="eol">{{ trans('general.eol') }}</th>
|
<th data-sortable="true" data-field="eol">{{ trans('general.eol') }}</th>
|
||||||
<th data-sortable="false" data-field="fieldset" data-formatter="fieldsetsLinkObjFormatter">{{ trans('admin/models/general.fieldset') }}</th>
|
<th data-sortable="false" data-field="fieldset" data-formatter="fieldsetsLinkObjFormatter">{{ trans('admin/models/general.fieldset') }}</th>
|
||||||
<th data-sortable="true" data-field="notes">{{ trans('general.notes') }}</th>
|
<th data-sortable="true" data-field="notes">{{ trans('general.notes') }}</th>
|
||||||
|
|
Loading…
Reference in a new issue