Skip to content

Commit fd6d91b

Browse files
committed
Disable member deletion when has any related ticket
1 parent 29ba1af commit fd6d91b

4 files changed

Lines changed: 36 additions & 20 deletions

File tree

src/Controllers/MembersController.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,19 @@ public function update(Request $request, $id)
8686

8787
public function destroy(Request $request, $id)
8888
{
89-
$member = User::findOrFail($id);
89+
$user = User::findOrFail($id);
90+
$member = Models\Member::findOrFail($id);
9091
if (auth()->user()->id == $id){
91-
\Session::flash('warning', 'You cannot delete your own user account');
92+
\Session::flash('warning', trans('panichd::admin.member-delete-own-user-error'));
9293
return redirect()->back();
9394
}
94-
$member->delete();
95+
96+
if ($member->userTickets()->count() > 0 or $member->agentTotalTickets()->count() > 0){
97+
\Session::flash('warning', trans('panichd::admin.member-with-tickets-delete'));
98+
return redirect()->back();
99+
}
100+
101+
$user->delete();
95102

96103
\Session::flash('status', trans('panichd::admin.member-deleted', ['name' => $member->name]));
97104

src/Translations/ca/admin.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@
187187
'member-added-ok' => 'El membre ":name" s\'ha creat correctament',
188188
'member-updated-ok' => 'El membre ":name" s\'ha actualitzat correctament',
189189
'member-deleted' => 'El membre ":name" s\'ha ELIMINAT',
190+
'member-delete-own-user-error' => 'No pots eliminar el teu propi compte d\'usuari',
191+
'member-with-tickets-delete' => 'No pots eliminar un membre amb tiquets relacionats',
190192

191193
// $admin_route_path/priority/____
192194
'priority-index-title' => 'Gestió de prioritats',

src/Translations/en/admin.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@
188188
'member-added-ok' => 'Member ":name" has been created correctly',
189189
'member-updated-ok' => 'Member ":name" has been updated correctly',
190190
'member-deleted' => 'Member ":name" has been DELETED',
191+
'member-delete-own-user-error' => 'You cannot delete your own user account',
192+
'member-with-tickets-delete' => 'You cannot delete a member with related tickets',
191193

192194
// $admin_route_path/priority/____
193195
'priority-index-title' => 'Priorities Management',

src/Views/admin/member/index.blade.php

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,25 +56,30 @@
5656
<td>
5757
<button type="button" class="btn btn-default btn_member_modal" data-member_id="{{ $member->id }}" data-member_name="{{ $member->name }}" data-member_email="{{ $member->email }}" data-route="update" data-form_action="{{ route($setting->grab('admin_route').'.member.update', ['id' => $member->id ]) }}">{{ trans('panichd::admin.btn-edit') }}</button>
5858
@if ($member->panichd_admin != '1')
59-
{!! link_to_route(
60-
$setting->grab('admin_route').'.member.destroy', trans('panichd::admin.btn-delete'), $member->id,
61-
[
62-
'class' => 'btn btn-default deleteit',
63-
'form' => "delete-$member->id",
64-
"user" => $member->name
65-
])
59+
@if ($member->user_tickets_count == 0 && $member->agent_total_tickets_count == 0)
60+
{!! link_to_route(
61+
$setting->grab('admin_route').'.member.destroy', trans('panichd::admin.btn-delete'), $member->id,
62+
[
63+
'class' => 'btn btn-default deleteit',
64+
'form' => "delete-$member->id",
65+
"user" => $member->name
66+
])
67+
!!}
68+
69+
{!! CollectiveForm::open([
70+
'method' => 'DELETE',
71+
'route' => [
72+
$setting->grab('admin_route').'.member.destroy',
73+
$member->id
74+
],
75+
'id' => "delete-$member->id"
76+
])
6677
!!}
78+
{!! CollectiveForm::close() !!}
79+
@else
80+
<button type="button" class="btn btn-default" disabled="disabled" title="{{ trans('panichd::admin.member-with-tickets-delete') }}"><strike>{{ trans('panichd::admin.btn-delete') }}</strike></button>
81+
@endif
6782

68-
{!! CollectiveForm::open([
69-
'method' => 'DELETE',
70-
'route' => [
71-
$setting->grab('admin_route').'.member.destroy',
72-
$member->id
73-
],
74-
'id' => "delete-$member->id"
75-
])
76-
!!}
77-
{!! CollectiveForm::close() !!}
7883
@endif
7984
</td>
8085
</tr>

0 commit comments

Comments
 (0)