fix: 🐛 update user rules of gitlab_id and sites
This commit is contained in:
parent
a399aa1eb3
commit
48154c3e9d
1 changed files with 19 additions and 6 deletions
|
|
@ -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',
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue