Skip to content

Commit bc0296f

Browse files
committed
Mark read / unread within ticket card
1 parent 504325d commit bc0296f

3 files changed

Lines changed: 48 additions & 6 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2414,6 +2414,7 @@ public function changeRead(Request $request)
24142414
return response()->json([
24152415
'result' => $result,
24162416
'message' => $message,
2417+
'read_by_agent' => $ticket->read_by_agent,
24172418
'last_update' => $this->last_update_string()
24182419
]);
24192420
}

src/Views/tickets/show/body.blade.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
<div class="card">
22
<div id="ticket-body" class="card-body">
33
<div class="d-lg-flex mb-2">
4-
<h2 class="mr-auto">
5-
@if ($ticket->completed_at)
6-
<span class="text-success"><span class="fa fa-check-circle" title="tiquet completat" style="cursor: help"></span> {{ $ticket->subject }}</span>
7-
@else
8-
<span class="text-warning"><span class="fa fa-file" title="tiquet obert" style="cursor: help"></span> {{ $ticket->subject }}</span>
9-
@endif
4+
<h2 class="mr-auto @if($ticket->agent->id == $u->id && $ticket->read_by_agent != "1") unread_ticket_text @endif">
5+
@if ($ticket->completed_at)
6+
<span class="text-success"><span class="fa fa-check-circle" title="tiquet completat" style="cursor: help"></span> {{ $ticket->subject }}</span>
7+
@else
8+
<span class="text-warning"><span class="fa fa-file" title="tiquet obert" style="cursor: help"></span> {{ $ticket->subject }}</span>
9+
@endif
1010
</h2>
1111

1212
<div class="text-right">
13+
@if ($u->id == $ticket->agent_id)
14+
{{-- For assigned agent: Mark ticket as read / unread --}}
15+
<button class="btn btn-light unread_toggle tooltip-info" style="color: #aaa" data-ticket_id="{{ $ticket->id }}" data-toggle="tooltip" title="{{ $ticket->read_by_agent == "2" ? trans('panichd::lang.mark-as-read') : trans('panichd::lang.mark-as-unread') }}">
16+
<i class="fas {{ ($ticket->read_by_agent == "2" ? 'fa-user-lock' : ($ticket->read_by_agent == "1" ? 'fa-user' : 'fa-user-edit')) }}"></i>
17+
</button>
18+
@endif
1319
@if ($u->currentLevel() > 1)
1420
<a href="{{ route($setting->grab('main_route').'.hide', ['value' => $ticket->hidden ? 'false' : 'true', 'ticket'=>$ticket->id]) }}" class="btn btn-light tooltip-info" style="border: none; color: #aaa;" data-toggle="tooltip" data-placement="top" title="{{ trans('panichd::lang.ticket-hidden-button-title') }}">{!! $ticket->hidden ? '<span class="fa fa-eye-slash"></span> '.trans('panichd::lang.ticket-hidden') : '<span class="fa fa-eye"></span> '.trans('panichd::lang.ticket-visible') !!}</a>
1521
@endif

src/Views/tickets/show/scripts.blade.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,41 @@
1919
2020
var category_id=<?=$ticket->category_id;?>;
2121
$(document).ready(function() {
22+
// Mark ticket as read / unread
23+
$(document).on('click', '.unread_toggle', function(e){
24+
e.preventDefault();
25+
26+
$.ajax({
27+
type: "POST",
28+
url: '{{ route($setting->grab('main_route').'.ajax.read') }}',
29+
data: {
30+
_token: "{{ csrf_token() }}",
31+
ticket_id: $(this).attr('data-ticket_id')
32+
},
33+
34+
success: function( response ) {
35+
if (response.result == "ok"){
36+
if (response.read_by_agent == "1"){
37+
// Mark ticket subject
38+
$('#ticket-body h2').removeClass('unread_ticket_text');
39+
40+
// Change icon
41+
$('.unread_toggle i.fas').removeClass().addClass('fas').addClass('fa-user');
42+
}else{
43+
$('#ticket-body h2').addClass('unread_ticket_text');
44+
$('.unread_toggle i.fas').removeClass().addClass('fas').addClass('fa-user-lock');
45+
}
46+
47+
// Update button title
48+
$('.unread_toggle').blur().tooltip('dispose');
49+
$('.unread_toggle').prop('title', response.read_by_agent == "2" ? '{{ trans('panichd::lang.mark-as-read') }}' : '{{ trans('panichd::lang.mark-as-unread') }}');
50+
$('.unread_toggle').tooltip();
51+
}
52+
}
53+
});
54+
});
55+
56+
// Delete ticket
2257
$( ".deleteit" ).click(function( event ) {
2358
event.preventDefault();
2459
if (confirm("{!! trans('panichd::lang.show-ticket-js-delete') !!}" + $(this).attr("node") + " ?"))

0 commit comments

Comments
 (0)