Added latest tickets to admin overview
This commit is contained in:
parent
5fc4103a7c
commit
4871272670
|
@ -13,6 +13,7 @@ use App\Models\User;
|
||||||
use Illuminate\Support\Facades\Cache;
|
use Illuminate\Support\Facades\Cache;
|
||||||
use App\Classes\Pterodactyl;
|
use App\Classes\Pterodactyl;
|
||||||
use App\Models\Product;
|
use App\Models\Product;
|
||||||
|
use App\Models\Ticket;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class OverViewController extends Controller
|
class OverViewController extends Controller
|
||||||
|
@ -117,12 +118,41 @@ class OverViewController extends Controller
|
||||||
}
|
}
|
||||||
return $output;
|
return $output;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$tickets = Cache::remember('tickets', self::TTL, function(){
|
||||||
|
$output = collect();
|
||||||
|
foreach(Ticket::query()->latest()->take(3)->get() as $ticket){
|
||||||
|
$output->put($ticket->ticket_id, collect());
|
||||||
|
$output[$ticket->ticket_id]->title = $ticket->title;
|
||||||
|
$user = User::query()->where('id', $ticket->user_id)->first();
|
||||||
|
$output[$ticket->ticket_id]->user_id = $user->id;
|
||||||
|
$output[$ticket->ticket_id]->user = $user->name;
|
||||||
|
$output[$ticket->ticket_id]->status = $ticket->status;
|
||||||
|
$output[$ticket->ticket_id]->last_updated = $ticket->updated_at->diffForHumans();
|
||||||
|
switch ($ticket->status) {
|
||||||
|
case 'Open':
|
||||||
|
$output[$ticket->ticket_id]->statusBadgeColor = 'badge-success';
|
||||||
|
break;
|
||||||
|
case 'Closed':
|
||||||
|
$output[$ticket->ticket_id]->statusBadgeColor = 'badge-danger';
|
||||||
|
break;
|
||||||
|
case 'Answered':
|
||||||
|
$output[$ticket->ticket_id]->statusBadgeColor = 'badge-info';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$output[$ticket->ticket_id]->statusBadgeColor = 'badge-warning';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
});
|
||||||
//dd($counters);
|
//dd($counters);
|
||||||
return view('admin.overview.index', [
|
return view('admin.overview.index', [
|
||||||
'counters' => $counters,
|
'counters' => $counters,
|
||||||
'nodes' => $nodes,
|
'nodes' => $nodes,
|
||||||
'syncLastUpdate' => $syncLastUpdate,
|
'syncLastUpdate' => $syncLastUpdate,
|
||||||
'perPageLimit' => ($counters['servers']->total != Server::query()->count())?true:false
|
'perPageLimit' => ($counters['servers']->total != Server::query()->count())?true:false,
|
||||||
|
'tickets' => $tickets
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,42 @@
|
||||||
<span><i class="fas fa-sync mr-2"></i>{{__('Last updated :date', ['date' => $syncLastUpdate])}}</span>
|
<span><i class="fas fa-sync mr-2"></i>{{__('Last updated :date', ['date' => $syncLastUpdate])}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<div class="card-title ">
|
||||||
|
<span><i class="fas fa-ticket-alt mr-2"></i>{{__('Latest tickets')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body py-1">
|
||||||
|
@if(!$tickets->count())<span style="font-size: 16px; font-weight:700">{{__('There are no tickets')}}.</span>
|
||||||
|
@else
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('Title')}}</th>
|
||||||
|
<th>{{__('User')}}</th>
|
||||||
|
<th>{{__('Status')}}</th>
|
||||||
|
<th>{{__('Last updated')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
@foreach($tickets as $ticket_id => $ticket)
|
||||||
|
<tr>
|
||||||
|
<td><a class="text-info" href="{{route('moderator.ticket.show', ['ticket_id' => $ticket_id])}}">#{{$ticket_id}} - {{$ticket->title}}</td>
|
||||||
|
<td><a href="{{route('admin.users.show', $ticket->user_id)}}">{{$ticket->user}}</a></td>
|
||||||
|
<td><span class="badge {{$ticket->statusBadgeColor}}">{{$ticket->status}}</span></td>
|
||||||
|
<td>{{$ticket->last_updated}}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
|
|
Loading…
Reference in a new issue