updated design
This commit is contained in:
@@ -17,9 +17,9 @@ final class HelpdeskDashboardWidget extends Component
|
||||
$user = Auth::user();
|
||||
$base = Ticket::query();
|
||||
|
||||
if ($user->isHelpdeskAdmin()) {
|
||||
if ($user->helpdesk_admin ?? false) {
|
||||
// no filter
|
||||
} elseif ($user->isHelpdeskAgent()) {
|
||||
} elseif ($user->helpdesk_agent ?? false) {
|
||||
$base->where(function ($q) use ($user) {
|
||||
$q->where('agent_id', $user->id)
|
||||
->orWhere('user_id', $user->id);
|
||||
@@ -34,7 +34,7 @@ final class HelpdeskDashboardWidget extends Component
|
||||
$closedPercent = $totalCount > 0 ? (int) round(($closedCount / $totalCount) * 100) : 0;
|
||||
$openPercent = $totalCount > 0 ? (int) round(($openCount / $totalCount) * 100) : 0;
|
||||
|
||||
return view('helpdesk::livewire.dashboard-widget', [
|
||||
return view('modules.helpdesk.livewire.dashboard-widget', [
|
||||
'totalCount' => $totalCount,
|
||||
'openCount' => $openCount,
|
||||
'closedCount' => $closedCount,
|
||||
|
||||
@@ -185,13 +185,13 @@ final class KanbanBoard extends Component
|
||||
->get();
|
||||
}
|
||||
|
||||
return view('helpdesk::livewire.kanban-board', [
|
||||
return view('modules.helpdesk.livewire.kanban-board', [
|
||||
'boards' => $boards,
|
||||
'board' => $board,
|
||||
'statuses' => $board?->statuses ?? collect(),
|
||||
'ticketsByStatus' => $this->ticketsByStatus($board),
|
||||
'refreshNonce' => $this->refreshNonce,
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Helpdesk Kanban')]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -699,7 +699,7 @@ final class SettingsManager extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('helpdesk::livewire.settings-manager', [
|
||||
return view('modules.helpdesk.livewire.settings-manager', [
|
||||
'statuses' => $this->orderedStatuses(),
|
||||
'priorities' => $this->orderedPriorities(),
|
||||
'categories' => $this->orderedCategories(),
|
||||
@@ -718,7 +718,7 @@ final class SettingsManager extends Component
|
||||
'tags' => Tag::query()->orderBy('name')->get(),
|
||||
'checklistTemplates' => ChecklistTemplate::query()->orderBy('name')->get(),
|
||||
'colourOptions' => Color::options(),
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Helpdesk Settings')]);
|
||||
}
|
||||
|
||||
private function orderedStatuses(): mixed
|
||||
|
||||
@@ -138,7 +138,7 @@ final class TicketCreate extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('helpdesk::livewire.ticket-create', [
|
||||
return view('modules.helpdesk.livewire.ticket-create', [
|
||||
'boards' => $this->boardOptions(),
|
||||
'priorities' => $this->priorityOptions(),
|
||||
'categories' => $this->categoryOptions(),
|
||||
@@ -146,7 +146,7 @@ final class TicketCreate extends Component
|
||||
'projects' => $this->projectOptions(),
|
||||
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
|
||||
'tags' => Tag::query()->orderBy('name')->get(),
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Create Helpdesk Ticket')]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -188,7 +188,7 @@ final class TicketEdit extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('helpdesk::livewire.ticket-edit', [
|
||||
return view('modules.helpdesk.livewire.ticket-edit', [
|
||||
'boards' => KanbanBoard::query()->with('owner:id,name,email')->orderByDesc('is_default')->orderBy('sort_order')->orderBy('name')->get(),
|
||||
'statuses' => Status::query()->orderBy('sort_order')->orderBy('name')->get(),
|
||||
'priorities' => Priority::query()->orderBy('sort_order')->orderBy('name')->get(),
|
||||
@@ -198,7 +198,7 @@ final class TicketEdit extends Component
|
||||
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
|
||||
'tags' => Tag::query()->orderBy('name')->get(),
|
||||
'agents' => $this->agentOptions(),
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Edit Helpdesk Ticket')]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -101,11 +101,11 @@ final class TicketIndex extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('helpdesk::livewire.ticket-index', [
|
||||
return view('modules.helpdesk.livewire.ticket-index', [
|
||||
'tickets' => $this->tickets(),
|
||||
'statuses' => Status::query()->orderBy('sort_order')->get(),
|
||||
'priorities' => Priority::query()->orderBy('sort_order')->get(),
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Helpdesk Tickets')]);
|
||||
}
|
||||
|
||||
private function resetTicketDeletionState(): void
|
||||
|
||||
@@ -320,12 +320,12 @@ final class TicketShow extends Component
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('helpdesk::livewire.ticket-show', [
|
||||
return view('modules.helpdesk.livewire.ticket-show', [
|
||||
'statuses' => Status::query()->orderBy('sort_order')->get(),
|
||||
'priorities' => Priority::query()->orderBy('sort_order')->get(),
|
||||
'agents' => $this->agentOptions(),
|
||||
'cannedResponses' => CannedResponse::query()->where('is_active', true)->orderBy('sort_order')->orderBy('name')->get(),
|
||||
])->layout('helpdesk::layouts.app.sidebar');
|
||||
])->layout('layouts.app', ['title' => __('Helpdesk Ticket')]);
|
||||
}
|
||||
|
||||
private function normaliseNullableInt(mixed $value): ?int
|
||||
@@ -691,7 +691,7 @@ final class TicketShow extends Component
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
return $user !== null && $user->isHelpdeskAdmin();
|
||||
return $user !== null && (method_exists($user, 'isAdmin') ? $user->isAdmin() : (bool) ($user->helpdesk_admin ?? false));
|
||||
}
|
||||
|
||||
private function buildCommentTree(Collection $grouped, ?int $parentId = null): Collection
|
||||
|
||||
@@ -154,7 +154,7 @@ class TicketTimer extends Component
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('helpdesk::livewire.ticket-timer');
|
||||
return view('modules.helpdesk.livewire.ticket-timer');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Tailwind scanner to discover module Blade classes.
|
||||
*/
|
||||
@source "../../views/**/*.blade.php";
|
||||
@source "../../../../../resources/themes/admin/views/modules/helpdesk/**/*.blade.php";
|
||||
@source "../../../../../resources/themes/backend/views/modules/helpdesk/**/*.blade.php";
|
||||
@source "../../../Livewire/**/*.php";
|
||||
|
||||
.hd-helpdesk-surface .hd-btn,
|
||||
|
||||
@@ -2,6 +2,8 @@ import { defineConfig } from 'vite';
|
||||
import laravel from 'laravel-vite-plugin';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
|
||||
console.log('[Helpdesk] Running Modules/Helpdesk/vite.config.js');
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
emptyOutDir: true,
|
||||
@@ -14,6 +16,7 @@ export default defineConfig({
|
||||
laravel({
|
||||
publicDirectory: '../../public',
|
||||
buildDirectory: 'build/helpdesk',
|
||||
hotFile: '../../public/hot-helpdesk',
|
||||
|
||||
input: [
|
||||
'Resources/assets/css/app.css',
|
||||
@@ -23,6 +26,7 @@ export default defineConfig({
|
||||
refresh: [
|
||||
'Resources/views/**',
|
||||
'Livewire/**',
|
||||
'../../resources/themes/backend/views/modules/helpdesk/**',
|
||||
],
|
||||
}),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user