Ticketing: settings tabs are deep-linkable routes (/settings/{tab})
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jh8RnYXrC8E6z79LWs8ggd
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "dashboard/ticketing",
|
||||
"description": "Help desk ticketing snap-in for the Dashboard platform",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"type": "library",
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
|
||||
@@ -64,7 +64,7 @@ class TicketingSettingsController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): Response
|
||||
public function index(?string $tab = null): Response
|
||||
{
|
||||
$this->requireAgentAccess();
|
||||
|
||||
@@ -101,6 +101,7 @@ class TicketingSettingsController extends Controller
|
||||
: EmailConnection::whereIn('group_id', $myGroupIds)->get();
|
||||
|
||||
return Inertia::render('Ticketing/Settings', [
|
||||
'activeTab' => $tab,
|
||||
'groups' => $groups,
|
||||
'agents' => $agents,
|
||||
'priorities' => $priorities,
|
||||
|
||||
@@ -29,6 +29,8 @@ Route::middleware(['web', 'auth', 'app.access:ticketing'])
|
||||
// ── Settings (must be before /{ticket} wildcard) ──────────────────────
|
||||
Route::middleware('permission:ticketing.settings')->group(function () {
|
||||
Route::get('/settings', [TicketingSettingsController::class, 'index']) ->name('settings');
|
||||
Route::get('/settings/{tab}', [TicketingSettingsController::class, 'index'])
|
||||
->where('tab', 'groups|agents|priorities|statuses|projects|automation')->name('settings.tab');
|
||||
Route::post('/settings/groups', [TicketingSettingsController::class, 'storeGroup']) ->name('settings.groups.store');
|
||||
Route::put('/settings/groups/{group}', [TicketingSettingsController::class, 'updateGroup']) ->name('settings.groups.update');
|
||||
Route::post('/settings/agents', [TicketingSettingsController::class, 'storeAgent']) ->name('settings.agents.store');
|
||||
|
||||
Reference in New Issue
Block a user