diff --git a/app/Http/Requests/Back/Users/Concerns/HasUserRequestRules.php b/app/Http/Requests/Back/Users/Concerns/HasUserRequestRules.php index 6b1c740..59a394b 100644 --- a/app/Http/Requests/Back/Users/Concerns/HasUserRequestRules.php +++ b/app/Http/Requests/Back/Users/Concerns/HasUserRequestRules.php @@ -24,6 +24,7 @@ trait HasUserRequestRules 'isClient' => $role === UserRoleRegistry::get('client')->value, 'isProjectManager' => $role === UserRoleRegistry::get('project-manager')->value, 'isDevelopper' => $role === UserRoleRegistry::get('developper')->value, + 'isConceptor' => $role === UserRoleRegistry::get('conceptor')->value, ]; } @@ -36,12 +37,20 @@ trait HasUserRequestRules 'isClient' => $isClient, 'isProjectManager' => $isProjectManager, 'isDevelopper' => $isDevelopper, + 'isConceptor' => $isConceptor, ] = $this->resolveRoleFlags(); + $userRole = auth('backend')->user()->role->value === $isConceptor; - $this->merge([ - 'gitlab_id' => $isProjectManager || $isDevelopper ? $this->input('gitlab_id') : null, - 'sites' => $isClient ? $this->input('sites') : null, - ]); + if ($userRole && ($isProjectManager || $isDevelopper)) { + $this->merge([ + 'gitlab_id' => $this->input('gitlab_id'), + ]); + } + if ($isClient) { + $this->merge([ + 'sites' => $this->input('sites'), + ]); + } } /** @@ -55,11 +64,15 @@ trait HasUserRequestRules 'isClient' => $isClient, 'isProjectManager' => $isProjectManager, 'isDevelopper' => $isDevelopper, + 'isConceptor' => $isConceptor, ] = $this->resolveRoleFlags(); + $userRole = auth('backend')->user()->role->value === $isConceptor; return [ - 'gitlab_id' => $isProjectManager || $isDevelopper ? 'required|integer|min:1' : 'nullable|integer|min:1', - 'sites' => $isClient ? 'required|array' : 'nullable|array', + 'gitlab_id' => $userRole && ($isProjectManager || $isDevelopper) + ? 'required|integer|min:1' + : 'nullable|integer|min:1', + 'sites' => $userRole && $isClient ? 'required|array' : 'nullable|array', 'sites.*' => 'integer|exists:sites,id|distinct', ]; }