Add optional serial value in presenter

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe
2025-03-10 12:43:38 +00:00
parent 92b2da9b1b
commit df5437647b
2 changed files with 31 additions and 54 deletions
+30 -4
View File
@@ -11,9 +11,19 @@ class HistoryPresenter extends Presenter
* Json Column Layout for bootstrap table
* @return string
*/
public static function dataTableLayout()
public static function dataTableLayout($serial = false)
{
$layout = [
$extra = [];
$layout_start = [
[
'id' => 'id',
'searchable' => false,
'sortable' => true,
'switchable' => true,
'title' => trans('general.id'),
'visible' => false,
'class' => 'hidden-xs',
],
[
'field' => 'icon',
'searchable' => false,
@@ -65,7 +75,22 @@ class HistoryPresenter extends Presenter
'title' => trans('general.item'),
'visible' => false,
'formatter' => 'polymorphicItemFormatter',
], [
],
];
if ($serial) {
$extra = [
[
'field' => 'item.serial',
'title' => trans('admin/hardware/table.serial'),
'visible' => false,
]
];
}
$layout_end = [
[
'field' => 'target',
'searchable' => true,
'sortable' => true,
@@ -140,7 +165,8 @@ class HistoryPresenter extends Presenter
],
];
return json_encode($layout);
$merged = array_merge($layout_start, $extra, $layout_end);
return json_encode($merged);
}
}
+1 -50
View File
@@ -25,6 +25,7 @@
<div class="box-body">
<table
data-columns="{{ \App\Presenters\HistoryPresenter::dataTableLayout($serial = true) }}"
data-cookie-id-table="activityReport"
data-pagination="true"
data-id-table="activityReport"
@@ -43,56 +44,6 @@
"fileName": "activity-report-{{ date('Y-m-d') }}",
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
}'>
<thead>
<tr>
<th data-field="id" class="hidden-xs "data-sortable="true" data-visible="false">
{{ trans('general.id') }}
</th>
<th data-field="icon" style="width: 40px;" class="hidden-xs" data-formatter="iconFormatter">
{{ trans('admin/hardware/table.icon') }}
</th>
<th class="col-sm-3" data-searchable="false" data-sortable="true" data-field="created_at" data-formatter="dateDisplayFormatter">
{{ trans('general.date') }}
</th>
<th class="col-sm-2" data-searchable="true" data-sortable="true" data-field="created_by" data-formatter="usersLinkObjFormatter">
{{ trans('general.admin') }}
</th>
<th class="col-sm-2" data-field="action_type">
{{ trans('general.action') }}
</th>
<th class="col-sm-2" data-field="file" data-visible="false" data-formatter="fileUploadNameFormatter">
{{ trans('general.file_name') }}
</th>
<th class="col-sm-1" data-field="item_type" data-searchable="true" data-formatter="itemTypeFormatter">
{{ trans('general.type') }}
</th>
<th class="col-sm-3" data-field="item.serial" data-visible="false">
{{ trans('admin/hardware/table.serial') }}
</th>
<th class="col-sm-3" data-field="item" data-formatter="polymorphicItemFormatter">
{{ trans('general.item') }}
</th>
<th class="col-sm-2" data-field="target" data-formatter="polymorphicItemFormatter">
{{ trans('general.to') }}
</th>
<th class="col-sm-1" data-field="note" data-sortable="true">
{{ trans('general.notes') }}
</th>
<th class="col-sm-2" data-field="log_meta" data-visible="false" data-formatter="changeLogFormatter">
{{ trans('general.changed') }}
</th>
<th data-field="remote_ip" data-visible="false" data-sortable="true">
{{ trans('admin/settings/general.login_ip') }}
</th>
<th data-field="user_agent" data-visible="false" data-sortable="true">
{{ trans('admin/settings/general.login_user_agent') }}
</th>
<th data-field="action_source" data-visible="false" data-sortable="true">
{{ trans('general.action_source') }}
</th>
</tr>
</thead>
</table>
</div>
</div>