Skip to content

Commit 51ce570

Browse files
committed
attempt to sort chronologically, can not resort still
1 parent dcbb09b commit 51ce570

File tree

4 files changed

+32
-17
lines changed

4 files changed

+32
-17
lines changed

app/Http/Controllers/ReportsController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,8 @@ public function getAssetAcceptanceReport($deleted = false) : View
11271127
'assignedTo' => function($query){
11281128
$query->withTrashed();
11291129
}
1130-
]);
1130+
])->orderByDesc('checkout_acceptances.created_at');
1131+
11311132

11321133
if ($showDeleted) {
11331134
$query->withTrashed();

app/Models/Checkoutable.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ class Checkoutable
99
{
1010
public function __construct(
1111
public int $acceptance_id,
12-
public string $created_at,
1312
public string $company,
1413
public string $category,
1514
public string $model,
1615
public string $asset_tag,
1716
public string $name,
1817
public string $type,
1918
public object $acceptance,
19+
public object $assignee,
2020
){}
2121

2222
// public static function fromCheckoutable(Asset|Accessory|etc..)
@@ -29,10 +29,12 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self
2929
$unaccepted_row = $unaccepted->checkoutable;
3030
$acceptance = $unaccepted;
3131

32+
$assignee = $acceptance->assignedTo;
3233
$company = optional($unaccepted_row->company)->name ?? '';
3334
$category = $model = $name = $tag = '';
3435
$type = $acceptance->checkoutable_item_type ?? '';
3536

37+
3638
if($unaccepted_row instanceof Asset){
3739
$category = optional($unaccepted_row->model?->category?->present())->nameUrl() ?? '';
3840
$model = optional($unaccepted_row->present())->modelUrl() ?? '';
@@ -43,31 +45,30 @@ public static function fromAcceptance(CheckoutAcceptance $unaccepted): self
4345
$category = optional($unaccepted_row->category?->present())->nameUrl() ?? '';
4446
$model = $unaccepted_row->model_number ?? '';
4547
$name = optional($unaccepted_row->present())->nameUrl() ?? '';
46-
$tag = '';
4748

4849
}
4950
if($unaccepted_row instanceof LicenseSeat){
5051
$category = '';
5152
$model = '';
5253
$name = $unaccepted_row->license->name ?? '';
53-
$tag = '';
5454
}
5555
if($unaccepted_row instanceof Component){
5656
$category = optional($unaccepted_row->category?->present())->nameUrl() ?? '';
5757
$model = $unaccepted_row->model_number ?? '';
5858
$name = $unaccepted_row->present()->nameUrl() ?? '';
59-
$tag = '';
6059
}
60+
$created = $acceptance->created_at;
61+
6162
return new self(
6263
acceptance_id: $acceptance->id,
63-
created_at: Helper::getFormattedDateObject($acceptance->created_at, 'datetime', false),
6464
company: $company,
6565
category: $category,
6666
model: $model,
6767
asset_tag: $tag,
6868
name: $name,
6969
type: $type,
7070
acceptance: $acceptance,
71+
assignee: $assignee,
7172
);
7273
}
7374
}

resources/views/partials/bootstrap-table.blade.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,17 @@ function dateDisplayFormatter(value) {
870870
return value.formatted;
871871
}
872872
}
873+
function createdAtSorter(a, b, rowA, rowB) {
874+
const CREATED_AT_COL_INDEX = 0;
875+
const ts = row => Number(row?._$el?.find('td').eq(CREATED_AT_COL_INDEX).attr('data-timestamp') || 0);
876+
return ts(rowA) - ts(rowB);
877+
}
878+
879+
function createdAtSorter(a, b, rowA, rowB) {
880+
const ts = row =>
881+
Number(row?._$el?.find('td').eq(CREATED_AT_COL_INDEX).attr('data-timestamp') || 0);
882+
return ts(rowA) - ts(rowB);
883+
}
873884
874885
function iconFormatter(value) {
875886
if (value) {

resources/views/reports/unaccepted_assets.blade.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,13 @@ class="table table-striped snipe-table"
4848
}'>
4949
<thead>
5050
<tr role="row">
51-
<th class="col-sm-1" data-searchable="false" data-field="created_at" data-sortable="true">{{ trans('general.date') }}</th>
51+
<th class="col-sm-1"
52+
data-field="created_at"
53+
data-searchable="false"
54+
data-sortable="true"
55+
data-sorter="createdAtSorter">
56+
{{ trans('general.date') }}
57+
</th>
5258
<th class="col-sm-1" data-sortable="true" >{{ trans('general.type') }}</th>
5359
<th class="col-sm-1" data-sortable="true" >{{ trans('admin/companies/table.title') }}</th>
5460
<th class="col-sm-1" data-sortable="true" >{{ trans('general.category') }}</th>
@@ -63,8 +69,8 @@ class="table table-striped snipe-table"
6369
@if ($itemsForReport)
6470
@foreach ($itemsForReport as $item)
6571
<tr @if($item->acceptance->trashed()) style="text-decoration: line-through" @endif>
66-
{{-- Created date (already formatted) --}}
67-
<td data-order="{{ $item->acceptance->created_at->getTimestamp() }}">
72+
{{-- Created date --}}
73+
<td>
6874
{{ Helper::getFormattedDateObject($item->acceptance->created_at, 'datetime', false) }}
6975
</td>
7076
{{-- Item Type --}}
@@ -85,13 +91,9 @@ class="table table-striped snipe-table"
8591
<td>{{ $item->asset_tag }}</td>
8692

8793
{{-- Assigned To (with soft-delete strike if needed) --}}
88-
@php
89-
$assignee = $item->acceptance->assignedTo;
90-
$assigneeStruck = !$assignee || (method_exists($assignee, 'trashed') && $assignee->trashed());
91-
@endphp
92-
<td @if($assigneeStruck) style="text-decoration: line-through" @endif>
93-
{!! $assignee
94-
? optional($assignee->present())->nameUrl() ?? e($assignee->name)
94+
<td @if(!$item->assignee || (method_exists($item->assignee, 'trashed') && $item->assignee->trashed())) style="text-decoration: line-through" @endif>
95+
{!! $item->assignee
96+
? optional($item->assignee->present())->nameUrl() ?? e($item->assignee->name)
9597
: trans('admin/reports/general.deleted_user') !!}
9698
</td>
9799

@@ -102,7 +104,7 @@ class="table table-striped snipe-table"
102104
<form method="post" class="white-space: nowrap;" action="{{ route('reports/unaccepted_assets_sent_reminder') }}">
103105
@csrf
104106
<input type="hidden" name="acceptance_id" value="{{ $item->acceptance_id }}">
105-
@if ($assignee && $assignee->email)
107+
@if ($item->assignee && $item->assignee->email)
106108
<button class="btn btn-sm btn-warning" data-tooltip="true" data-title="{{ trans('admin/reports/general.send_reminder') }}">
107109
<i class="fa fa-repeat" aria-hidden="true"></i>
108110
</button>

0 commit comments

Comments
 (0)