Fixup access control component to cover all cases

This commit is contained in:
Johannes Zellner
2025-11-11 19:40:07 +01:00
parent 4ea8ab08a3
commit 4226654772
3 changed files with 14 additions and 9 deletions
+12 -7
View File
@@ -1,6 +1,6 @@
<script setup>
import { onMounted } from 'vue';
import { computed } from 'vue';
import { FormGroup, Radiobutton, MultiSelect } from '@cloudron/pankow';
import { ACL_OPTIONS } from '../constants.js';
@@ -17,20 +17,25 @@ const props = defineProps({
type: Object,
required: true,
},
hideOptionalSsoOption: {
sso: {
type: Boolean,
default: false,
required: false,
}
},
installation: {
type: Boolean,
required: true,
},
});
const accessRestrictionOption = defineModel('option');
const accessRestriction = defineModel('acl');
const optionalSso = !!props.manifest.optionalSso;
const cloudronAuth = !!(props.manifest.addons['ldap'] || props.manifest.addons['oidc'] || props.manifest.addons['proxyAuth']) && !props.hideOptionalSsoOption;
onMounted(async () => {
const optionalSso = computed(() => {
return !!props.manifest.optionalSso && props.installation;
});
const cloudronAuth = computed(() => {
return !(!props.installation && !props.sso) && !!(props.manifest.addons['ldap'] || props.manifest.addons['oidc'] || props.manifest.addons['proxyAuth']);
});
</script>