Skip to content

Commit 9cb2e69

Browse files
committed
Display information when user is softDeleted (using deleted_at field)
1 parent 0b2a9ad commit 9cb2e69

4 files changed

Lines changed: 61 additions & 16 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use DB;
99
use Validator;
1010
use Illuminate\Http\Request;
11+
use Illuminate\Support\Facades\Schema;
1112
use PanicHD\PanicHD\Helpers\LaravelVersion;
1213
use Intervention\Image\ImageManagerStatic as Image;
1314
use PanicHD\PanicHD\Events\TicketCreated;
@@ -111,6 +112,17 @@ public function data($ticketList = 'active')
111112
\DB::raw('group_concat(panichd_tags.text_color) AS tags_text_color'),
112113
];
113114

115+
// Check if member is soft deleted
116+
if (Schema::hasColumn('panichd_members', 'deleted_at')){
117+
if (config('database.default')=='sqlite'){
118+
$a_select[] = \DB::raw('CASE panichd_members.deleted_at WHEN NULL THEN 0 ELSE 1 END as deleted_owner');
119+
}else{
120+
$a_select[] = \DB::raw('CASE WHEN panichd_members.deleted_at IS NULL THEN 0 ELSE 1 END as deleted_owner');
121+
}
122+
}else{
123+
$a_select[] = '0 as deleted_owner';
124+
}
125+
114126
if (Setting::grab('departments_feature')){
115127
// Department joins
116128
$collection
@@ -281,6 +293,13 @@ public function renderTicketTable($collection)
281293

282294
$collection->editColumn('owner_name', function ($ticket) {
283295
$return = str_replace (" ", " ", $ticket->owner_name);
296+
297+
if ($ticket->deleted_owner == '1'){
298+
$return = "<span class=\"tooltip-info\" data-toggle=\"tooltip\" data-placement=\"auto bottom\" title=\"".trans('panichd::lang.deleted-member')."\">"
299+
."<span class=\"glyphicon glyphicon-exclamation-sign text-danger\"></span>"
300+
."&nbsp;" . $return . "</span>";
301+
}
302+
284303
if (Setting::grab('user_route') != 'disabled'){
285304
$return = '<a href="'.route(Setting::grab('user_route'), ['id' => $ticket->user_id]).'">'.$return.'</a>';
286305
}
@@ -1015,9 +1034,21 @@ public function show($id)
10151034
->select('panichd_tickets.*', 'panichd_departments.department', 'panichd_departments.sub1');
10161035
}
10171036

1018-
$ticket = $ticket
1019-
->select(['panichd_tickets.*', 'panichd_members.name as owner_name', 'panichd_members.email as owner_email'])
1020-
->findOrFail($id);
1037+
$a_select = ['panichd_tickets.*', 'panichd_members.name as owner_name', 'panichd_members.email as owner_email'];
1038+
1039+
// Check if member is soft deleted
1040+
if (Schema::hasColumn('panichd_members', 'deleted_at')){
1041+
if (config('database.default')=='sqlite'){
1042+
$a_select[] = \DB::raw('CASE panichd_members.deleted_at WHEN NULL THEN 0 ELSE 1 END as deleted_owner');
1043+
}else{
1044+
$a_select[] = \DB::raw('CASE WHEN panichd_members.deleted_at IS NULL THEN 0 ELSE 1 END as deleted_owner');
1045+
}
1046+
}else{
1047+
$a_select[] = '0 as deleted_owner';
1048+
}
1049+
1050+
// Select Ticket and properties
1051+
$ticket = $ticket->select($a_select)->findOrFail($id);
10211052

10221053
if ($ticket->hidden and $user->currentLevel() == 1){
10231054
return redirect()->route(Setting::grab('main_route').'.index')->with('warning', trans('panichd::lang.you-are-not-permitted-to-access'));

src/Translations/ca/lang.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
'date-format' => 'd-m-Y',
132132
'datetime-format' => 'd-m-Y H:i',
133133
'datetimepicker-format' => 'DD-MM-YYYY HH:mm',
134+
'deleted-member' => 'Usuari eliminat',
134135
'department' => 'Departament',
135136
'department-shortening' => 'Dep.',
136137
'dept_sub1' => 'Area',
@@ -211,8 +212,9 @@
211212
'create-new-ticket' => 'Crear Nou Tiquet',
212213
'create-ticket-brief-issue' => 'Tema del tiquet',
213214
'create-ticket-notices' => 'Avís per',
215+
'ticket-owner-deleted-warning' => 'L\'usuari està eliminat. No es veurà a l\'edició de propietaris',
214216
'ticket-owner-no-email' => '(No té e-mail)',
215-
'ticket-owner-no-email-warning' => 'L\'usuari no rebrà cap notificació per correu electrònic',
217+
'ticket-owner-no-email-warning' => 'L\'usuari no té email: No rebrà cap notificació per correu electrònic',
216218
'create-ticket-owner-help' => 'Aquí cal indicar de qui és el tiquet o a qui afecta',
217219
'create-ticket-visible' => 'Visible',
218220
'create-ticket-visible-help' => 'Escull la visibilitat del tiquet per al propietari',

src/Translations/en/lang.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
'date-format' => 'Y-m-d',
133133
'datetime-format' => 'Y-m-d H:i',
134134
'datetimepicker-format' => 'YYYY-MM-DD HH:mm',
135+
'deleted-member' => 'Deleted member',
135136
'department' => 'Department',
136137
'department-shortening' => 'Dept.',
137138
'dept_sub1' => 'Subdepartment',
@@ -213,8 +214,9 @@
213214
'create-new-ticket' => 'Create New Ticket',
214215
'create-ticket-brief-issue' => 'A brief of your issue ticket',
215216
'create-ticket-notices' => 'Notices',
217+
'ticket-owner-deleted-warning' => 'User is deleted. It won\'t appear in owner edition list',
216218
'ticket-owner-no-email' => '(Has not e-mail)',
217-
'ticket-owner-no-email-warning' => 'User will not receive any e-mail notification',
219+
'ticket-owner-no-email-warning' => 'User has not e-mail: Will not receive any e-mail notification',
218220
'create-ticket-owner-help' => 'You may choose from whom is the ticket or who does it affect',
219221
'create-ticket-visible' => 'Visible',
220222
'create-ticket-visible-help' => 'Choose ticket visibility for the assigned owner',

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

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,29 @@ class="btn btn-default"
7171
@endif
7272

7373
<br /><strong>{{ trans('panichd::lang.owner') }}</strong>{{ trans('panichd::lang.colon') }}
74-
<?php
75-
if ($setting->grab('user_route') != 'disabled'){
76-
$owner_name = '<a href="' . route($setting->grab('user_route'), ['id'=> $ticket->user_id]) . '">' . $ticket->owner_name . '</a>';
77-
}else{
78-
$owner_name = $ticket->owner_name;
79-
}
80-
?>
74+
75+
@if ($setting->grab('user_route') != 'disabled')
76+
<a href="{{ route($setting->grab('user_route'), ['id'=> $ticket->user_id]) }}">
77+
@endif
8178

82-
@if ($ticket->owner_email == "")
83-
<span class="text-warning">{!! $owner_name . ' ' . trans('panichd::lang.ticket-owner-no-email') !!}
84-
<br /><span class="glyphicon glyphicon-warning-sign"></span> {{ trans('panichd::lang.ticket-owner-no-email-warning') }}</span>
79+
@if ($ticket->deleted_owner)
80+
<span class="tooltip-info" data-toggle="tooltip" data-placement="auto bottom" title="{{ trans('panichd::lang.deleted-member') }}">{!! $ticket->owner_name !!}</span>
81+
@elseif ($ticket->owner_email != "")
82+
<span class="tooltip-info" data-toggle="tooltip" data-placement="auto bottom" title="{{ $ticket->owner_email }}">{!! $ticket->owner_name !!} <span class="glyphicon glyphicon-question-sign"></span></span>
8583
@else
86-
<span class="tooltip-info" data-toggle="tooltip" data-placement="auto bottom" title="{{ $ticket->owner_email }}">{!! $owner_name !!} <span class="glyphicon glyphicon-question-sign"></span></span>
84+
{!! $ticket->owner_name !!}
85+
@endif
86+
87+
@if ($setting->grab('user_route') != 'disabled')
88+
</a>
89+
@endif
90+
91+
@if ($ticket->deleted_owner)
92+
<br /><span class="text-danger"><span class="glyphicon glyphicon-exclamation-sign"></span> {{ trans('panichd::lang.ticket-owner-deleted-warning') }}</span>
93+
@endif
94+
95+
@if ($ticket->owner_email == "")
96+
<br /><span class="text-warning"><span class="glyphicon glyphicon-warning-sign"></span> {{ trans('panichd::lang.ticket-owner-no-email-warning') }}</span>
8797
@endif
8898

8999
@if ($setting->grab('departments_feature'))

0 commit comments

Comments
 (0)