diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 6c029ddff3..a567caf87f 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -64,6 +64,7 @@ const INITIAL_FRONTEND_STATE = { }, features: { componentValidation: false, + disableUserMetadata: false, }, errors: [], hasAppPackage: false, diff --git a/packages/builder/src/components/backend/DataTable/TableDataTable.svelte b/packages/builder/src/components/backend/DataTable/TableDataTable.svelte index 2b7cde9201..5fee849afb 100644 --- a/packages/builder/src/components/backend/DataTable/TableDataTable.svelte +++ b/packages/builder/src/components/backend/DataTable/TableDataTable.svelte @@ -4,6 +4,7 @@ import { TableNames } from "constants" import { Grid } from "@budibase/frontend-core" import { API } from "api" + import { store } from "builderStore" import GridAddColumnModal from "components/backend/DataTable/modals/grid/GridCreateColumnModal.svelte" import GridCreateEditRowModal from "components/backend/DataTable/modals/grid/GridCreateEditRowModal.svelte" import GridEditUserModal from "components/backend/DataTable/modals/grid/GridEditUserModal.svelte" @@ -17,11 +18,11 @@ import GridUsersTableButton from "components/backend/DataTable/modals/grid/GridUsersTableButton.svelte" const userSchemaOverrides = { - firstName: { displayName: "First name" }, - lastName: { displayName: "Last name" }, - email: { displayName: "Email" }, - roleId: { displayName: "Role" }, - status: { displayName: "Status" }, + firstName: { displayName: "First name", disabled: true }, + lastName: { displayName: "Last name", disabled: true }, + email: { displayName: "Email", disabled: true }, + roleId: { displayName: "Role", disabled: true }, + status: { displayName: "Status", disabled: true }, } $: id = $tables.selected?._id @@ -60,14 +61,14 @@ datasource={gridDatasource} canAddRows={!isUsersTable} canDeleteRows={!isUsersTable} - canEditRows={!isUsersTable} - canEditColumns={!isUsersTable} + canEditRows={!isUsersTable || !$store.features.disableUserMetadata} + canEditColumns={!isUsersTable || !$store.features.disableUserMetadata} schemaOverrides={isUsersTable ? userSchemaOverrides : null} showAvatars={false} on:updatedatasource={handleGridTableUpdate} > - {#if isUsersTable} + {#if isUsersTable && $store.features.disableUserMetadata} {/if} diff --git a/packages/server/src/api/controllers/application.ts b/packages/server/src/api/controllers/application.ts index 11f6e6c249..4afd7b23f9 100644 --- a/packages/server/src/api/controllers/application.ts +++ b/packages/server/src/api/controllers/application.ts @@ -289,6 +289,7 @@ async function performAppCreate(ctx: UserCtx) { }, features: { componentValidation: true, + disableUserMetadata: true, }, } @@ -310,10 +311,13 @@ async function performAppCreate(ctx: UserCtx) { } }) - // Keep existing validation setting + // Keep existing feature flags if (!existing.features?.componentValidation) { newApplication.features!.componentValidation = false } + if (!existing.features?.disableUserMetadata) { + newApplication.features!.disableUserMetadata = false + } // Migrate navigation settings and screens if required if (existing) { diff --git a/packages/types/src/documents/app/app.ts b/packages/types/src/documents/app/app.ts index f42422b557..5bbdd86515 100644 --- a/packages/types/src/documents/app/app.ts +++ b/packages/types/src/documents/app/app.ts @@ -66,4 +66,5 @@ export interface AppIcon { export interface AppFeatures { componentValidation?: boolean + disableUserMetadata?: boolean }