fix(ticketing): restrict settings link to admins and protect global priorities
- Show 'Go to Settings' bootstrap link only for admin/super_admin users - Pass isSiteAdmin prop to Create.vue to control settings CTA visibility - Require site admin for updatePriority/destroyPriority when priority is global (group_id = null) - Closes: non-admin users seeing forbidden settings link; agents mutating global priorities
This commit is contained in:
@@ -235,6 +235,11 @@ class TicketingSettingsController extends Controller
|
||||
|
||||
if ($priority->group_id) {
|
||||
$this->requireManagerAccess($priority->group_id);
|
||||
} else {
|
||||
// Global priorities require site admin
|
||||
if (!$this->isSiteAdmin()) {
|
||||
abort(403, 'Only site admins can manage global priorities.');
|
||||
}
|
||||
}
|
||||
|
||||
$validated = $request->validate([
|
||||
@@ -264,6 +269,11 @@ class TicketingSettingsController extends Controller
|
||||
|
||||
if ($priority->group_id) {
|
||||
$this->requireManagerAccess($priority->group_id);
|
||||
} else {
|
||||
// Global priorities require site admin
|
||||
if (!$this->isSiteAdmin()) {
|
||||
abort(403, 'Only site admins can manage global priorities.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($priority->tickets()->exists()) {
|
||||
|
||||
Reference in New Issue
Block a user