Merge pull request #14368 from Budibase/Fix-user-access-roles-from-displaying-business

Fix user access roles from displaying business
This commit is contained in:
Martin McKeaveney 2024-09-12 16:53:16 +01:00 committed by GitHub
commit 58837a6eb6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 11 deletions

View File

@ -24,6 +24,7 @@
const dispatch = createEventDispatcher() const dispatch = createEventDispatcher()
const RemoveID = "remove" const RemoveID = "remove"
const subType = $licensing.license.plan.type ?? null
$: enrichLabel = label => (labelPrefix ? `${labelPrefix} ${label}` : label) $: enrichLabel = label => (labelPrefix ? `${labelPrefix} ${label}` : label)
$: options = getOptions( $: options = getOptions(
@ -68,13 +69,13 @@
})) }))
// Add creator if required // Add creator if required
if (allowCreator) { if (allowCreator || isEnterprisePlan(subType)) {
options.unshift({ options.unshift({
_id: Constants.Roles.CREATOR, _id: Constants.Roles.CREATOR,
name: "Can edit", name: "Can edit",
tag: tag: isEnterprisePlan(subType)
!$licensing.perAppBuildersEnabled && ? null
capitalise(Constants.PlanType.BUSINESS), : capitalise(Constants.PlanType.ENTERPRISE),
}) })
} }
@ -117,6 +118,14 @@
dispatch("change", e.detail) dispatch("change", e.detail)
} }
} }
function isEnterprisePlan(subType) {
return (
subType === Constants.PlanType.ENTERPRISE ||
subType === Constants.PlanType.ENTERPRISE_BASIC ||
subType === Constants.PlanType.ENTERPRISE_BASIC_TRIAL
)
}
</script> </script>
{#if fancySelect} {#if fancySelect}
@ -134,9 +143,12 @@
getOptionValue={role => role._id} getOptionValue={role => role._id}
getOptionColour={getColor} getOptionColour={getColor}
getOptionIcon={getIcon} getOptionIcon={getIcon}
isOptionEnabled={option => isOptionEnabled={option => {
option._id !== Constants.Roles.CREATOR || if (option._id === Constants.Roles.CREATOR) {
$licensing.perAppBuildersEnabled} return isEnterprisePlan(subType)
}
return true
}}
{placeholder} {placeholder}
{error} {error}
/> />
@ -154,10 +166,12 @@
getOptionValue={role => role._id} getOptionValue={role => role._id}
getOptionColour={getColor} getOptionColour={getColor}
getOptionIcon={getIcon} getOptionIcon={getIcon}
isOptionEnabled={option => isOptionEnabled={option => {
(option._id !== Constants.Roles.CREATOR || if (option._id === Constants.Roles.CREATOR) {
$licensing.perAppBuildersEnabled) && return isEnterprisePlan(subType)
option.enabled !== false} }
return option.enabled !== false
}}
{placeholder} {placeholder}
{error} {error}
/> />

View File

@ -85,6 +85,7 @@ export const PlanType = {
TEAM: "team", TEAM: "team",
PRO: "pro", PRO: "pro",
BUSINESS: "business", BUSINESS: "business",
PREMIUM: "premium",
ENTERPRISE: "enterprise", ENTERPRISE: "enterprise",
ENTERPRISE_BASIC_TRIAL: "enterprise_basic_trial", ENTERPRISE_BASIC_TRIAL: "enterprise_basic_trial",
} }