diff --git a/app/Http/Controllers/Moderation/TicketsController.php b/app/Http/Controllers/Moderation/TicketsController.php index a0dbb0fb..4ef25bd0 100644 --- a/app/Http/Controllers/Moderation/TicketsController.php +++ b/app/Http/Controllers/Moderation/TicketsController.php @@ -59,4 +59,58 @@ class TicketsController extends Controller $user->notify(new ReplyNotification($ticket, $user, $newmessage)); return redirect()->back()->with('success', __('Your comment has been submitted')); } -} + + public function dataTable() + { + $query = Ticket::query(); + + return datatables($query) + ->addColumn('category', function (Ticket $tickets) { + return $tickets->ticketcategory->name; + }) + ->editColumn('title', function (Ticket $tickets) { + return '' . "#" . $tickets->ticket_id . " - " . $tickets->title . ''; + }) + ->editColumn('user_id', function (Ticket $tickets) { + return '' . $tickets->user->name . ''; + }) + ->addColumn('actions', function (Ticket $tickets) { + return ' + +
+ + '; + }) + ->editColumn('status', function (Ticket $tickets) { + switch ($tickets->status) { + case 'Open': + $badgeColor = 'badge-success'; + break; + case 'Closed': + $badgeColor = 'badge-danger'; + break; + case 'Answered': + $badgeColor = 'badge-info'; + break; + default: + $badgeColor = 'badge-warning'; + break; + } + + return '' . $tickets->status . ''; + }) + ->editColumn('updated_at', function (Ticket $tickets) { + return $tickets->updated_at ? $tickets->updated_at->diffForHumans() : ''; + }) + ->rawColumns(['category', 'title', 'user_id', 'status', 'updated_at', 'actions']) + ->make(true); + } +} diff --git a/app/Http/Controllers/TicketsController.php b/app/Http/Controllers/TicketsController.php index f845d4c4..8155037b 100644 --- a/app/Http/Controllers/TicketsController.php +++ b/app/Http/Controllers/TicketsController.php @@ -81,4 +81,40 @@ class TicketsController extends Controller Notification::send($admin, new AdminReplyNotification($ticket, $user, $newmessage)); return redirect()->back()->with('success', __('Your comment has been submitted')); } + + public function dataTable() + { + $query = Ticket::where("user_id", Auth::user()->id)->get(); + + return datatables($query) + ->addColumn('category', function (Ticket $tickets) { + return $tickets->ticketcategory->name; + }) + ->editColumn('title', function (Ticket $tickets) { + return '' . "#" . $tickets->ticket_id . " - " . $tickets->title . ''; + }) + ->editColumn('status', function (Ticket $tickets) { + switch ($tickets->status) { + case 'Open': + $badgeColor = 'badge-success'; + break; + case 'Closed': + $badgeColor = 'badge-danger'; + break; + case 'Answered': + $badgeColor = 'badge-info'; + break; + default: + $badgeColor = 'badge-warning'; + break; + } + + return '' . $tickets->status . ''; + }) + ->editColumn('updated_at', function (Ticket $tickets) { + return $tickets->updated_at ? $tickets->updated_at->diffForHumans() : ''; + }) + ->rawColumns(['category', 'title', 'status', 'updated_at']) + ->make(true); + } } diff --git a/resources/views/layouts/main.blade.php b/resources/views/layouts/main.blade.php index 5a7f4ade..458a2398 100644 --- a/resources/views/layouts/main.blade.php +++ b/resources/views/layouts/main.blade.php @@ -238,7 +238,7 @@{{ __('Ticket List') }}
diff --git a/resources/views/moderator/ticket/index.blade.php b/resources/views/moderator/ticket/index.blade.php index 7ae5fa41..203ca227 100644 --- a/resources/views/moderator/ticket/index.blade.php +++ b/resources/views/moderator/ticket/index.blade.php @@ -37,70 +37,52 @@Category | -Title | -User | -Status | -Last Updated | -Actions | +{{__('Category')}} | +{{__('Title')}} | +{{__('User')}} | +{{__('Status')}} | +{{__('Last Updated')}} | +{{__('Actions')}} |
---|---|---|---|---|---|---|---|---|---|---|---|
- {{ $ticket->ticketcategory->name }} - | -- - #{{ $ticket->ticket_id }} - {{ $ticket->title }} - - | -- - {{ $ticket->user->name }} - - | -- @if ($ticket->status === 'Open') - Open - @elseif ($ticket->status === 'Closed') - Closed - @elseif ($ticket->status === 'Answered') - Answered - @elseif ($ticket->status === 'Client Reply') - Client Reply - @endif - | -{{ $ticket->updated_at }} | -- - - - | -
Category | -Title | -Status | -Last Updated | +{{__('Category')}} | +{{__('Title')}} | +{{__('Status')}} | +{{__('Last Updated')}} |
---|---|---|---|---|---|---|---|
- {{ $ticket->ticketcategory->name }} - | -- - #{{ $ticket->ticket_id }} - {{ $ticket->title }} - - | -- @if ($ticket->status === 'Open') - Open - @elseif ($ticket->status === 'Closed') - Closed - @elseif ($ticket->status === 'Answered') - Answered - @elseif ($ticket->status === 'Client Reply') - Client Reply - @endif - | -{{ $ticket->updated_at }} | -