-
Notifications
You must be signed in to change notification settings - Fork 257
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve Role Required Indicators/Validation
- RBAC Role type improvements - Remove rule 'Non-Resource URL' field. RBAC role type is namespaced, non-resource url's are not. - Apply additional validation ( - rule resource AND api group required, rather than default rule resource, non-resource url or api group required - name is required - Show Required indicator for all fields (reflecting validation) - Other Role type improvements - Show Required indicator for rule Verbs field - This does mean that when the page initially loads we show an empty rule row with required fields... but user can ignore this and successfully save the role anyway. The alternative is to not show an empty rule to begin with... but this forces the user to `Add Resource`. I feel the later is more of an issue than the former. - name is required
- Loading branch information
1 parent
d8ef0cb
commit 92c6610
Showing
6 changed files
with
50 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,19 @@ | ||
import { RBAC } from '@/config/types'; | ||
import isEmpty from 'lodash/isEmpty'; | ||
|
||
export function roleTemplateRules(rules = [], getters, errors, validatorArgs) { | ||
export function roleTemplateRules(rules = [], getters, errors, validatorArgs = []) { | ||
if (rules.some(rule => isEmpty(rule.verbs))) { | ||
errors.push(getters['i18n/t']('validation.roleTemplate.roleTemplateRules.missingVerb')); | ||
} | ||
|
||
if (rules.some(rule => isEmpty(rule.resources) && isEmpty(rule.nonResourceURLs) && isEmpty(rule.apiGroups))) { | ||
errors.push(getters['i18n/t']('validation.roleTemplate.roleTemplateRules.missingResource')); | ||
if (validatorArgs[0] === RBAC.ROLE) { | ||
if (rules.some(rule => isEmpty(rule.resources))) { | ||
errors.push(getters['i18n/t']('validation.roleTemplate.roleTemplateRules.missingResource')); | ||
} | ||
if (rules.some(rule => isEmpty(rule.apiGroups))) { | ||
errors.push(getters['i18n/t']('validation.roleTemplate.roleTemplateRules.missingApiGroup')); | ||
} | ||
} else if (rules.some(rule => isEmpty(rule.resources) && isEmpty(rule.nonResourceURLs) && isEmpty(rule.apiGroups))) { | ||
errors.push(getters['i18n/t']('validation.roleTemplate.roleTemplateRules.missingOneResource')); | ||
} | ||
} |