diff --git a/app/Http/Controllers/Bo/TicketController.php b/app/Http/Controllers/Bo/TicketController.php index 131bad4..827c39d 100644 --- a/app/Http/Controllers/Bo/TicketController.php +++ b/app/Http/Controllers/Bo/TicketController.php @@ -754,8 +754,13 @@ class TicketController extends Controller { $userGitlabId = auth()->user()->gitlab_id; $gitlabRepoId = $ticket->site->gitlab_project_id; - $description = \sprintf("%s
", $ticket->text); - $cLabel = match ($ticket->type) { + + if (GitLab::projects()->show($gitlabRepoId)['archived']) { + return back()->with('error', \trans("Ce projet GitLab est archivé et ne peut pas être utilisé.")); + } + + $description = \sprintf("%s
", $ticket->text); + $cLabel = match ($ticket->type) { TicketTypeEnum::bug => 'c-bug,g-to-dispatch', TicketTypeEnum::evolution => 'c-feature', TicketTypeEnum::newsletter => 'c-feature,g-to-estimate', diff --git a/app/Traits/Controllers/HasGitlabIssue.php b/app/Traits/Controllers/HasGitlabIssue.php index a664f83..b334f3a 100644 --- a/app/Traits/Controllers/HasGitlabIssue.php +++ b/app/Traits/Controllers/HasGitlabIssue.php @@ -17,7 +17,7 @@ trait HasGitlabIssue */ public function getGitlabIssue(int $projectId, string $issueUrl): array { - if (!preg_match('/\/issues\/(\d+)/', $issueUrl, $matches)) { return []; } + if (!preg_match('/\/(?:issues|work_items)\/(\d+)/', $issueUrl, $matches)) { return []; } $gitlabIssue = GitLab::issues()->show($projectId, (int) $matches[1]);