diff --git a/Modules/Helpdesk/Livewire/TicketCreate.php b/Modules/Helpdesk/Livewire/TicketCreate.php
index df3065d3..5f1f0f75 100644
--- a/Modules/Helpdesk/Livewire/TicketCreate.php
+++ b/Modules/Helpdesk/Livewire/TicketCreate.php
@@ -16,7 +16,6 @@ use Modules\Helpdesk\Models\Category;
use Modules\Helpdesk\Models\Priority;
use Modules\Helpdesk\Models\Product;
use Modules\Helpdesk\Models\Project;
-use Modules\Helpdesk\Models\Status;
use Modules\Helpdesk\Models\Team;
use Modules\Helpdesk\Models\Tag;
use Modules\Helpdesk\Services\TicketService;
@@ -34,9 +33,6 @@ final class TicketCreate extends Component
#[Validate('required|string|min:10')]
public string $body = '';
- #[Validate('nullable|integer|exists:helpdesk_statuses,id')]
- public ?int $status_id = null;
-
#[Validate('required|integer|exists:helpdesk_priorities,id')]
public ?int $priority_id = null;
@@ -88,7 +84,6 @@ final class TicketCreate extends Component
'company_id' => $this->company_id,
'subject' => $this->subject,
'body' => $this->body,
- 'status_id' => $this->status_id,
'priority_id' => $this->priority_id,
'category_id' => $this->category_id,
'project_id' => $this->project_id,
@@ -105,10 +100,7 @@ final class TicketCreate extends Component
public function render(): View
{
- $this->applyDefaults();
-
return view('helpdesk::livewire.ticket-create', [
- 'statuses' => $this->statusOptions(),
'priorities' => $this->priorityOptions(),
'categories' => $this->categoryOptions(),
'companies' => $this->companyOptions(),
@@ -125,28 +117,21 @@ final class TicketCreate extends Component
private function applyDefaults(): void
{
if (blank($this->company_id) && Schema::hasTable('companies') && Schema::hasColumn('companies', 'is_default_helpdesk_company')) {
- $this->company_id = $this->nullableInt(DB::table('companies')
+ $this->company_id = DB::table('companies')
->where('is_default_helpdesk_company', true)
->orderBy('name')
- ->value('id'));
- }
-
- if (blank($this->status_id) && $this->hasDefaultColumn('helpdesk_statuses')) {
- $this->status_id = $this->nullableInt(Status::query()
- ->where('is_default', true)
- ->orderBy('sort_order')
- ->value('id'));
+ ->value('id');
}
if (blank($this->priority_id) && $this->hasDefaultColumn('helpdesk_priorities')) {
- $this->priority_id = $this->nullableInt(Priority::query()
+ $this->priority_id = Priority::query()
->where('is_default', true)
->orderBy('sort_order')
- ->value('id'));
+ ->value('id');
}
if (blank($this->category_id) && $this->hasDefaultColumn('helpdesk_categories')) {
- $this->category_id = $this->nullableInt(Category::query()
+ $this->category_id = Category::query()
->where('is_default', true)
->when($this->company_id, fn ($query) => $query->where(function ($query): void {
$query->where('company_id', $this->company_id)
@@ -154,11 +139,11 @@ final class TicketCreate extends Component
}))
->orderByRaw('company_id is null')
->orderBy('name')
- ->value('id'));
+ ->value('id');
}
if (blank($this->team_id) && $this->hasDefaultColumn('helpdesk_teams')) {
- $this->team_id = $this->nullableInt(Team::query()
+ $this->team_id = Team::query()
->where('is_default', true)
->whereNull('archived_at')
->when($this->company_id, fn ($query) => $query->where(function ($query): void {
@@ -167,11 +152,11 @@ final class TicketCreate extends Component
}))
->orderByRaw('company_id is null')
->orderBy('name')
- ->value('id'));
+ ->value('id');
}
if (blank($this->project_id) && $this->hasDefaultColumn('helpdesk_projects')) {
- $this->project_id = $this->nullableInt(Project::query()
+ $this->project_id = Project::query()
->where('is_default', true)
->whereNull('archived_at')
->when($this->company_id, fn ($query) => $query->where(function ($query): void {
@@ -185,23 +170,11 @@ final class TicketCreate extends Component
->orderByRaw('company_id is null')
->orderByRaw('team_id is null')
->orderBy('title')
- ->value('id'));
+ ->value('id');
}
}
-
- /**
- * Return status options with default records listed first.
- */
- private function statusOptions(): mixed
- {
- return Status::query()
- ->when($this->hasDefaultColumn('helpdesk_statuses'), fn ($query) => $query->orderByDesc('is_default'))
- ->orderBy('sort_order')
- ->get();
- }
-
/**
* Return priority options with default records listed first.
*/
@@ -270,32 +243,6 @@ final class TicketCreate extends Component
->get();
}
-
- /**
- * Reload dependent defaults after the company changes.
- */
- public function updatedCompanyId(mixed $value): void
- {
- $this->company_id = $this->nullableInt($value);
- $this->category_id = null;
- $this->team_id = null;
- $this->project_id = null;
-
- $this->applyDefaults();
- }
-
- /**
- * Convert nullable database / Livewire values to nullable integers.
- */
- private function nullableInt(mixed $value): ?int
- {
- if ($value === null || $value === '') {
- return null;
- }
-
- return (int) $value;
- }
-
/**
* Check whether a Helpdesk lookup table has the default flag column.
*/
diff --git a/Modules/Helpdesk/Resources/views/components/lookup-table.blade.php b/Modules/Helpdesk/Resources/views/components/lookup-table.blade.php
index 26189af7..d7712d32 100644
--- a/Modules/Helpdesk/Resources/views/components/lookup-table.blade.php
+++ b/Modules/Helpdesk/Resources/views/components/lookup-table.blade.php
@@ -23,8 +23,8 @@
{{ $item->tickets_count ?? 0 }}
- Edit
- Delete
+ id }})" variant="primary">Edit
+ id }})" variant="danger">Delete
@empty
diff --git a/Modules/Helpdesk/Resources/views/components/project-table.blade.php b/Modules/Helpdesk/Resources/views/components/project-table.blade.php
index 92b7d688..4f31291a 100644
--- a/Modules/Helpdesk/Resources/views/components/project-table.blade.php
+++ b/Modules/Helpdesk/Resources/views/components/project-table.blade.php
@@ -25,8 +25,8 @@
{{ $item->tickets_count }}
- Edit
- Delete
+ id }})" variant="primary">Edit
+ id }})" variant="danger">Delete
@empty
diff --git a/Modules/Helpdesk/Resources/views/components/repository-table.blade.php b/Modules/Helpdesk/Resources/views/components/repository-table.blade.php
index 54d4d0d8..19054d41 100644
--- a/Modules/Helpdesk/Resources/views/components/repository-table.blade.php
+++ b/Modules/Helpdesk/Resources/views/components/repository-table.blade.php
@@ -26,8 +26,8 @@
{{ route('api.helpdesk.git.webhook', ['repository' => $item->id]) }}
- Edit
- Delete
+ id }})">Edit
+ id }})" wire:confirm="Delete this repository?">Delete
@empty
diff --git a/Modules/Helpdesk/Resources/views/components/team-table.blade.php b/Modules/Helpdesk/Resources/views/components/team-table.blade.php
index 61e73281..3b829dab 100644
--- a/Modules/Helpdesk/Resources/views/components/team-table.blade.php
+++ b/Modules/Helpdesk/Resources/views/components/team-table.blade.php
@@ -25,8 +25,8 @@
{{ $item->projects_count }}
{{ $item->tickets_count }}
- Edit
- Delete
+ id }})" variant="primary">Edit
+ id }})" variant="danger">Delete
@empty
diff --git a/Modules/Helpdesk/Resources/views/index.blade.php b/Modules/Helpdesk/Resources/views/index.blade.php
index a16e7152..946e4fa2 100644
--- a/Modules/Helpdesk/Resources/views/index.blade.php
+++ b/Modules/Helpdesk/Resources/views/index.blade.php
@@ -7,10 +7,22 @@
Helpdesk dashboard
Track open workload, closed tickets, response performance, project activity, priorities, Git commits and workflow communication from one professional support workspace.
@@ -32,11 +44,11 @@
diff --git a/Modules/Helpdesk/Resources/views/livewire/dashboard-widget.blade.php b/Modules/Helpdesk/Resources/views/livewire/dashboard-widget.blade.php
index 38d713fe..ac196a8f 100644
--- a/Modules/Helpdesk/Resources/views/livewire/dashboard-widget.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/dashboard-widget.blade.php
@@ -46,7 +46,7 @@
Recent commits
- Git setup
+ Git setup
@forelse ($recentCommits as $commit)
@@ -67,7 +67,7 @@
Recent tickets
Latest support activity.
-
View all
+
View all
@forelse ($recentTickets as $ticket)
diff --git a/Modules/Helpdesk/Resources/views/livewire/kanban-board.blade.php b/Modules/Helpdesk/Resources/views/livewire/kanban-board.blade.php
index 38ce8f27..b81d2e6c 100644
--- a/Modules/Helpdesk/Resources/views/livewire/kanban-board.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/kanban-board.blade.php
@@ -9,9 +9,18 @@
diff --git a/Modules/Helpdesk/Resources/views/livewire/settings-manager.blade.php b/Modules/Helpdesk/Resources/views/livewire/settings-manager.blade.php
index 0f16ca81..6ccff88b 100644
--- a/Modules/Helpdesk/Resources/views/livewire/settings-manager.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/settings-manager.blade.php
@@ -31,8 +31,14 @@
@@ -55,7 +61,46 @@
'products' => ['label' => 'Products', 'count' => $products->count()],
'defaults' => ['label' => 'Defaults', 'count' => 1],
] as $key => $item)
-
+ @php
+ $sectionTone = match ($key) {
+ 'statuses' => 'border-sky-400/70 bg-sky-600/15 text-sky-900 hover:bg-sky-600/25 dark:border-sky-500/50 dark:bg-sky-950/50 dark:text-sky-100 dark:hover:bg-sky-900/70',
+ 'priorities' => 'border-red-400/70 bg-red-600/15 text-red-900 hover:bg-red-600/25 dark:border-red-500/50 dark:bg-red-950/50 dark:text-red-100 dark:hover:bg-red-900/70',
+ 'categories' => 'border-indigo-400/70 bg-indigo-600/15 text-indigo-900 hover:bg-indigo-600/25 dark:border-indigo-500/50 dark:bg-indigo-950/50 dark:text-indigo-100 dark:hover:bg-indigo-900/70',
+ 'teams' => 'border-blue-400/70 bg-blue-600/15 text-blue-900 hover:bg-blue-600/25 dark:border-blue-500/50 dark:bg-blue-950/50 dark:text-blue-100 dark:hover:bg-blue-900/70',
+ 'projects' => 'border-cyan-400/70 bg-cyan-600/15 text-cyan-900 hover:bg-cyan-600/25 dark:border-cyan-500/50 dark:bg-cyan-950/50 dark:text-cyan-100 dark:hover:bg-cyan-900/70',
+ 'boards' => 'border-amber-400/70 bg-amber-600/15 text-amber-900 hover:bg-amber-600/25 dark:border-amber-500/50 dark:bg-amber-950/50 dark:text-amber-100 dark:hover:bg-amber-900/70',
+ 'git' => 'border-slate-400/70 bg-slate-600/15 text-slate-900 hover:bg-slate-600/25 dark:border-slate-500/50 dark:bg-slate-950/50 dark:text-slate-100 dark:hover:bg-slate-900/70',
+ 'workflow' => 'border-emerald-400/70 bg-emerald-600/15 text-emerald-900 hover:bg-emerald-600/25 dark:border-emerald-500/50 dark:bg-emerald-950/50 dark:text-emerald-100 dark:hover:bg-emerald-900/70',
+ 'canned' => 'border-teal-400/70 bg-teal-600/15 text-teal-900 hover:bg-teal-600/25 dark:border-teal-500/50 dark:bg-teal-950/50 dark:text-teal-100 dark:hover:bg-teal-900/70',
+ 'sla' => 'border-orange-400/70 bg-orange-600/15 text-orange-900 hover:bg-orange-600/25 dark:border-orange-500/50 dark:bg-orange-950/50 dark:text-orange-100 dark:hover:bg-orange-900/70',
+ 'automation' => 'border-purple-400/70 bg-purple-600/15 text-purple-900 hover:bg-purple-600/25 dark:border-purple-500/50 dark:bg-purple-950/50 dark:text-purple-100 dark:hover:bg-purple-900/70',
+ 'checklists' => 'border-lime-400/70 bg-lime-600/15 text-lime-900 hover:bg-lime-600/25 dark:border-lime-500/50 dark:bg-lime-950/50 dark:text-lime-100 dark:hover:bg-lime-900/70',
+ 'tags' => 'border-pink-400/70 bg-pink-600/15 text-pink-900 hover:bg-pink-600/25 dark:border-pink-500/50 dark:bg-pink-950/50 dark:text-pink-100 dark:hover:bg-pink-900/70',
+ 'products' => 'border-violet-400/70 bg-violet-600/15 text-violet-900 hover:bg-violet-600/25 dark:border-violet-500/50 dark:bg-violet-950/50 dark:text-violet-100 dark:hover:bg-violet-900/70',
+ 'defaults' => 'border-green-400/70 bg-green-600/15 text-green-900 hover:bg-green-600/25 dark:border-green-500/50 dark:bg-green-950/50 dark:text-green-100 dark:hover:bg-green-900/70',
+ default => 'border-zinc-400/70 bg-zinc-600/15 text-zinc-900 hover:bg-zinc-600/25 dark:border-zinc-500/50 dark:bg-zinc-950/50 dark:text-zinc-100 dark:hover:bg-zinc-900/70',
+ };
+
+ $sectionActiveTone = match ($key) {
+ 'statuses' => 'border-sky-300 bg-sky-600 text-white shadow-sky-950/20',
+ 'priorities' => 'border-red-300 bg-red-600 text-white shadow-red-950/20',
+ 'categories' => 'border-indigo-300 bg-indigo-600 text-white shadow-indigo-950/20',
+ 'teams' => 'border-blue-300 bg-blue-600 text-white shadow-blue-950/20',
+ 'projects' => 'border-cyan-300 bg-cyan-600 text-white shadow-cyan-950/20',
+ 'boards' => 'border-amber-300 bg-amber-500 text-white shadow-amber-950/20',
+ 'git' => 'border-slate-300 bg-slate-700 text-white shadow-slate-950/20',
+ 'workflow' => 'border-emerald-300 bg-emerald-600 text-white shadow-emerald-950/20',
+ 'canned' => 'border-teal-300 bg-teal-600 text-white shadow-teal-950/20',
+ 'sla' => 'border-orange-300 bg-orange-600 text-white shadow-orange-950/20',
+ 'automation' => 'border-purple-300 bg-purple-600 text-white shadow-purple-950/20',
+ 'checklists' => 'border-lime-300 bg-lime-600 text-white shadow-lime-950/20',
+ 'tags' => 'border-pink-300 bg-pink-600 text-white shadow-pink-950/20',
+ 'products' => 'border-violet-300 bg-violet-600 text-white shadow-violet-950/20',
+ 'defaults' => 'border-green-300 bg-green-600 text-white shadow-green-950/20',
+ default => 'border-blue-300 bg-blue-600 text-white shadow-blue-950/20',
+ };
+ @endphp
+
{{ $item['label'] }}
{{ $item['count'] }}
@@ -77,7 +122,7 @@
- Save default company
+ Save default company
@@ -102,7 +147,7 @@
Default status for new tickets
- Save status Reset
+ Save status Reset
@@ -121,7 +166,7 @@
Default for new tickets
- Save priority Reset
+ Save priority Reset
@@ -141,7 +186,7 @@
Default category for new tickets
- Save category Reset
+ Save category Reset
@@ -161,7 +206,7 @@
Default team for new tickets
- Save team Reset
+ Save team Reset
@@ -182,7 +227,7 @@
Default project for new tickets
- Save project Reset
+ Save project Reset
@@ -216,8 +261,8 @@
- Save board
- Reset
+ Save board
+ Reset
@@ -248,8 +293,8 @@
{{ $boardItem->is_default ? 'Default' : 'No' }}
- Edit
- Delete
+ id }})">Edit
+ id }})" wire:confirm="Delete this board?">Delete
@empty
@@ -285,8 +330,8 @@
- Save repository
- Reset
+ Save repository
+ Reset
@@ -325,8 +370,8 @@
- Save workflow message
- Reset
+ Save workflow message
+ Reset
@@ -350,8 +395,8 @@
{{ $template->to_role }}
{{ $template->is_active ? 'Active' : 'Inactive' }}
- Edit
- Delete
+ id }})">Edit
+ id }})" wire:confirm="Delete this workflow message?">Delete
@empty
@@ -376,7 +421,7 @@
Active
- Save canned response Reset
+ Save canned response Reset
@@ -384,7 +429,7 @@
{{ $response->name }} {{ $response->category?->name ?? 'Any category' }} · {{ $response->team?->name ?? 'Any team' }}
{{ $response->is_active ? 'Active' : 'Inactive' }}
{{ strip_tags($response->body) }}
-
Edit Delete
+
id }})">Edit id }})" wire:confirm="Delete this canned response?">Delete
@empty
No canned responses yet.
@@ -406,10 +451,10 @@
Default
Business hours
Active
-
Save SLA policy Reset
+
Save SLA policy Reset
-
Policy Targets Applies to Actions @forelse ($slaPolicies as $policy){{ $policy->name }} @if($policy->is_default)Default @endif {{ $policy->first_response_minutes }}m response · {{ $policy->resolution_minutes }}m close {{ $policy->priority?->name ?? 'Any priority' }} · {{ $policy->category?->name ?? 'Any category' }} Edit Delete @emptyNo SLA policies yet. @endforelse
+
Policy Targets Applies to Actions @forelse ($slaPolicies as $policy){{ $policy->name }} @if($policy->is_default)Default @endif {{ $policy->first_response_minutes }}m response · {{ $policy->resolution_minutes }}m close {{ $policy->priority?->name ?? 'Any priority' }} · {{ $policy->category?->name ?? 'Any category' }} id }})">Edit id }})" wire:confirm="Delete this SLA policy?">Delete @emptyNo SLA policies yet. @endforelse
@endif
@@ -429,31 +474,31 @@
No change @foreach ($projects as $project){{ $project->title }} @endforeach
No change @foreach ($statuses as $status){{ $status->name }} @endforeach
Active
-
Save automation rule Reset
+
Save automation rule Reset
-
@forelse ($automationRules as $rule)
{{ $rule->name }} Sender: {{ $rule->match_sender ?: 'Any' }} · Subject: {{ $rule->match_subject ?: 'Any' }}
Edit Delete
@empty
No automation rules yet.
@endforelse
+
@forelse ($automationRules as $rule)
{{ $rule->name }} Sender: {{ $rule->match_sender ?: 'Any' }} · Subject: {{ $rule->match_subject ?: 'Any' }}
id }})">Edit id }})" wire:confirm="Delete this rule?">Delete
@empty
No automation rules yet.
@endforelse
@endif
@if ($section === 'checklists')
-
- @forelse ($checklistTemplates as $template)
{{ $template->name }} {{ count($template->items ?? []) }} items
Edit Delete
@empty
No checklist templates yet.
@endforelse
+
+ @forelse ($checklistTemplates as $template)
{{ $template->name }} {{ count($template->items ?? []) }} items
id }})">Edit id }})" wire:confirm="Delete this checklist?">Delete
@empty
No checklist templates yet.
@endforelse
@endif
@if ($section === 'tags')
-
- @forelse ($tags as $tag)
{{ $tag->name }} Edit Delete
@empty
No tags yet.
@endforelse
+
+ @forelse ($tags as $tag)
{{ $tag->name }} id }})">Edit id }})" wire:confirm="Delete this tag?">Delete
@empty
No tags yet.
@endforelse
@endif
@if ($section === 'products')
-
- @forelse ($products as $product)
{{ $product->name }} {{ ucfirst($product->type) }} · {{ $product->version ?: 'No version' }} · {{ $product->tickets_count }} tickets
Edit Delete
@empty
No products or services yet.
@endforelse
+
+ @forelse ($products as $product)
{{ $product->name }} {{ ucfirst($product->type) }} · {{ $product->version ?: 'No version' }} · {{ $product->tickets_count }} tickets
id }})">Edit id }})" wire:confirm="Delete this product/service?">Delete
@empty
No products or services yet.
@endforelse
@endif
diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php
index 532f233b..b8a50a81 100644
--- a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php
@@ -104,7 +104,7 @@
Select company
@foreach ($companies as $company)
- id)>{{ $company->name }}
+ {{ $company->name }}
@endforeach
@@ -122,7 +122,7 @@
Select priority
@foreach ($priorities as $priority)
- id)>{{ $priority->name }}
+ {{ $priority->name }}
@endforeach
@@ -139,7 +139,7 @@
Select category
@foreach ($categories as $category)
- id)>{{ $category->name }}
+ {{ $category->name }}
@endforeach
@@ -156,7 +156,7 @@
Select project
@foreach ($projects as $project)
- id)>{{ $project->title ?? $project->name }}
+ {{ $project->title ?? $project->name }}
@endforeach
@@ -173,7 +173,7 @@
Select team
@foreach ($teams as $team)
- id)>{{ $team->name }}
+ {{ $team->name }}
@endforeach
@@ -188,7 +188,7 @@
@foreach ($tags as $tag)
- id, array_map('intval', $tag_ids), true))>{{ $tag->name }}
+ {{ $tag->name }}
@endforeach
diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-index.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-index.blade.php
index ae1249f4..03bca96d 100644
--- a/Modules/Helpdesk/Resources/views/livewire/ticket-index.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/ticket-index.blade.php
@@ -8,8 +8,14 @@
Search, triage and manage support requests across companies, projects, teams, priorities and statuses.
diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php
index 1ed6fbd7..9c1118ea 100644
--- a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php
+++ b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php
@@ -68,7 +68,7 @@
@endforeach
- Insert response
+ Insert response
@endif
@@ -88,7 +88,7 @@
-
+
Post reply
Posting...
@@ -185,14 +185,14 @@
{{ $status->name }}
@endforeach
- Update status
+ Update status
@foreach ($priorities as $priority)
{{ $priority->name }}
@endforeach
- Update priority
+ Update priority
@endcan
diff --git a/Modules/Helpdesk/Resources/views/partials/comment-thread.blade.php b/Modules/Helpdesk/Resources/views/partials/comment-thread.blade.php
index b07a9232..14274338 100644
--- a/Modules/Helpdesk/Resources/views/partials/comment-thread.blade.php
+++ b/Modules/Helpdesk/Resources/views/partials/comment-thread.blade.php
@@ -39,7 +39,7 @@
@endif
- Reply
+ id }})">Reply
@if (($reply_parent_id ?? null) === $comment->id)
@@ -47,8 +47,8 @@
- Cancel
- Post reply
+ Cancel
+ Post reply
@endif
diff --git a/Modules/Helpdesk/Services/TicketService.php b/Modules/Helpdesk/Services/TicketService.php
index 8e88ecbe..f14cb90c 100644
--- a/Modules/Helpdesk/Services/TicketService.php
+++ b/Modules/Helpdesk/Services/TicketService.php
@@ -34,14 +34,10 @@ final class TicketService
{
return DB::transaction(function () use ($user, $data, $files): Ticket {
$defaultStatusSlug = (string) config('helpdesk.default_status_slug', 'new');
- $status = ! empty($data['status_id'])
- ? Status::query()->whereKey((int) $data['status_id'])->first()
+ $status = Schema::hasTable('helpdesk_statuses') && Schema::hasColumn('helpdesk_statuses', 'is_default')
+ ? Status::query()->where('is_default', true)->orderBy('sort_order')->first()
: null;
- if (! $status && Schema::hasTable('helpdesk_statuses') && Schema::hasColumn('helpdesk_statuses', 'is_default')) {
- $status = Status::query()->where('is_default', true)->orderBy('sort_order')->first();
- }
-
if (! $status) {
$status = Status::query()->where('slug', $defaultStatusSlug)->first();
}
diff --git a/Modules/Helpdesk/changelog.yaml b/Modules/Helpdesk/changelog.yaml
index 866e5435..6fa9288f 100644
--- a/Modules/Helpdesk/changelog.yaml
+++ b/Modules/Helpdesk/changelog.yaml
@@ -121,10 +121,16 @@ versions:
- Confirmed ticket tags can be assigned on create and edit and are synced to the ticket-tag pivot.
- Kept module.json version in sync with changelog.yaml.
- "1.2.7":
+ "1.2.8":
changed:
- - Changed Helpdesk New ticket actions to use green action styling.
- - Hardened ticket creation defaults so configured company, status, priority, category, team and project defaults are applied before rendering and when saving.
- - Added explicit selected states for ticket create dropdowns so Select2 displays loaded defaults correctly.
- - Allowed TicketService to respect an explicitly supplied default status id while preserving fallback status behaviour.
+ - Replaced white Flux action buttons on the Helpdesk dashboard, ticket list, Kanban board and settings header with explicit high-contrast coloured action buttons.
+ - Standardised + New Ticket actions as green buttons across Helpdesk entry points.
+ - Kept module.json version in sync with changelog.yaml.
+
+
+ "1.2.9":
+ changed:
+ - Applied explicit Helpdesk action colour conventions across dashboard, tickets, Kanban and settings pages.
+ - Coloured settings section navigation tiles by domain so Statuses, Priorities, Categories, Teams, Projects, Boards, Workflow, SLA, Tags, Products and Defaults are visually distinct.
+ - Coloured save, reset, edit, delete, settings, ticket, Kanban, reply and update action buttons consistently.
- Kept module.json version in sync with changelog.yaml.
diff --git a/Modules/Helpdesk/module.json b/Modules/Helpdesk/module.json
index 639c7944..56219f94 100644
--- a/Modules/Helpdesk/module.json
+++ b/Modules/Helpdesk/module.json
@@ -22,5 +22,5 @@
"Modules\\Helpdesk\\Providers\\HelpdeskServiceProvider"
],
"files": [],
- "version": "1.2.7"
+ "version": "1.2.9"
}