Implement ticket statuses
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Actions\Tickets;
|
||||
|
||||
use App\Models\Project;
|
||||
use App\Models\Ticket;
|
||||
use App\Models\TicketStatus;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -21,6 +22,7 @@ class CreateProjectTicket
|
||||
* description: string|null,
|
||||
* story_points?: int|null,
|
||||
* ticket_priority_id: int,
|
||||
* ticket_status_id: int,
|
||||
* ticket_type_id: int,
|
||||
* title: string
|
||||
* } $attributes
|
||||
@@ -31,17 +33,20 @@ class CreateProjectTicket
|
||||
$nextSequenceNumber = (int) Ticket::query()
|
||||
->where('project_id', $project->id)
|
||||
->max('sequence_number') + 1;
|
||||
$ticketStatus = TicketStatus::query()
|
||||
->where('project_id', $project->id)
|
||||
->findOrFail(Arr::get($attributes, 'ticket_status_id'));
|
||||
|
||||
$ticket = Ticket::query()->create([
|
||||
'acceptance_criteria' => Arr::get($attributes, 'acceptance_criteria'),
|
||||
'assignee_user_id' => Arr::get($attributes, 'assignee_user_id'),
|
||||
'author_user_id' => $actor?->id,
|
||||
'board_column_id' => null,
|
||||
'description' => Arr::get($attributes, 'description'),
|
||||
'project_id' => $project->id,
|
||||
'sequence_number' => $nextSequenceNumber,
|
||||
'ticket_key' => "{$project->key}-{$nextSequenceNumber}",
|
||||
'ticket_priority_id' => Arr::get($attributes, 'ticket_priority_id'),
|
||||
'ticket_status_id' => $ticketStatus->id,
|
||||
'ticket_type_id' => Arr::get($attributes, 'ticket_type_id'),
|
||||
'title' => Arr::get($attributes, 'title'),
|
||||
'story_points' => Arr::get($attributes, 'story_points'),
|
||||
@@ -52,11 +57,12 @@ class CreateProjectTicket
|
||||
$ticket,
|
||||
$actor,
|
||||
'created',
|
||||
'Ticket was created in Backlog.',
|
||||
"Ticket was created in {$ticketStatus->name}.",
|
||||
[
|
||||
'from' => null,
|
||||
'to' => [
|
||||
'label' => 'Backlog',
|
||||
'label' => $ticketStatus->name,
|
||||
'ticket_status_id' => $ticketStatus->id,
|
||||
],
|
||||
],
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user