diff --git a/packages/nc-gui-v2/components/smartsheet/Toolbar.vue b/packages/nc-gui-v2/components/smartsheet/Toolbar.vue index 01260b88b3..a49d8e4a7b 100644 --- a/packages/nc-gui-v2/components/smartsheet/Toolbar.vue +++ b/packages/nc-gui-v2/components/smartsheet/Toolbar.vue @@ -5,6 +5,7 @@ import ToggleDrawer from '~/components/smartsheet/sidebar/toolbar/ToggleDrawer.v const { isGrid, isForm, isGallery } = useSmartsheetStoreOrThrow() const isPublic = inject(IsPublicInj, ref(false)) const { allowCSVDownload } = useSharedView() +const { isUIAllowed } = useUIPermission() const { isOpen } = useSidebar() @@ -31,7 +32,7 @@ const { isOpen } = useSidebar()
- + diff --git a/packages/nc-gui-v2/composables/useUIPermission/rolePermissions.ts b/packages/nc-gui-v2/composables/useUIPermission/rolePermissions.ts index b0884700bd..b89ef57c00 100644 --- a/packages/nc-gui-v2/composables/useUIPermission/rolePermissions.ts +++ b/packages/nc-gui-v2/composables/useUIPermission/rolePermissions.ts @@ -8,6 +8,7 @@ const rolePermissions = { column: true, tableAttachment: true, tableRowUpdate: true, + dataInsert: true, rowComments: true, gridViewOptions: true, sortSync: true, diff --git a/packages/nc-gui-v2/composables/useViewColumns.ts b/packages/nc-gui-v2/composables/useViewColumns.ts index 830e9651eb..9923839ed0 100644 --- a/packages/nc-gui-v2/composables/useViewColumns.ts +++ b/packages/nc-gui-v2/composables/useViewColumns.ts @@ -19,6 +19,10 @@ export function useViewColumns(view: Ref | undefined, meta: ComputedRe const { isSharedBase } = useProject() + const isLocalMode = computed( + () => isPublic.value || !isUIAllowed('hideAllColumns') || !isUIAllowed('showAllColumns') || isSharedBase.value, + ) + const loadViewColumns = async () => { if (!meta || !view) return @@ -52,7 +56,7 @@ export function useViewColumns(view: Ref | undefined, meta: ComputedRe } const showAll = async (ignoreIds?: any) => { - if (isPublic.value || isSharedBase.value) { + if (isLocalMode.value) { fields.value = fields.value?.map((field: Field) => ({ ...field, show: true, @@ -75,7 +79,7 @@ export function useViewColumns(view: Ref | undefined, meta: ComputedRe reloadData?.() } const hideAll = async (ignoreIds?: any) => { - if (isPublic.value || isSharedBase.value) { + if (isLocalMode.value) { fields.value = fields.value?.map((field: Field) => ({ ...field, show: false, @@ -144,7 +148,7 @@ export function useViewColumns(view: Ref | undefined, meta: ComputedRe }, set(v: boolean) { if (view?.value?.id) { - if (!isPublic.value && !isSharedBase.value) { + if (!isLocalMode.value) { $api.dbView .update(view.value.id, { show_system_fields: v,