-
-
-
+
+
+
+
+
+
+
+
@@ -352,51 +394,35 @@ watch(
diff --git a/packages/nc-gui/components/virtual-cell/Formula.vue b/packages/nc-gui/components/virtual-cell/Formula.vue
index 0f100c0e19..dab1e7e05c 100644
--- a/packages/nc-gui/components/virtual-cell/Formula.vue
+++ b/packages/nc-gui/components/virtual-cell/Formula.vue
@@ -29,7 +29,7 @@ const { showEditNonEditableFieldWarning, showClearNonEditableFieldWarning, activ
ERR!
-
+
{{ result }}
diff --git a/packages/nc-gui/components/virtual-cell/Links.vue b/packages/nc-gui/components/virtual-cell/Links.vue
index 1981b298e0..3e0c5eb5d8 100644
--- a/packages/nc-gui/components/virtual-cell/Links.vue
+++ b/packages/nc-gui/components/virtual-cell/Links.vue
@@ -97,7 +97,7 @@ const localCellValue = computed
(() => {
diff --git a/packages/nc-gui/components/virtual-cell/QrCode.vue b/packages/nc-gui/components/virtual-cell/QrCode.vue
index dd0d9054f2..2cf8879dd7 100644
--- a/packages/nc-gui/components/virtual-cell/QrCode.vue
+++ b/packages/nc-gui/components/virtual-cell/QrCode.vue
@@ -1,12 +1,14 @@
-
+
diff --git a/packages/nocodb/src/helpers/getAst.ts b/packages/nocodb/src/helpers/getAst.ts
index 52acc65ece..1ecf513a76 100644
--- a/packages/nocodb/src/helpers/getAst.ts
+++ b/packages/nocodb/src/helpers/getAst.ts
@@ -5,7 +5,7 @@ import type {
LookupColumn,
Model,
} from '~/models';
-import { View } from '~/models';
+import { GalleryView, View } from '~/models';
const getAst = async ({
query,
@@ -32,6 +32,14 @@ const getAst = async ({
dependencyFields.nested = dependencyFields.nested || {};
dependencyFields.fieldsSet = dependencyFields.fieldsSet || new Set();
+ let coverImageId;
+ if (view) {
+ const gallery = await GalleryView.get(view.id);
+ if (gallery) {
+ coverImageId = gallery.fk_cover_image_col_id;
+ }
+ }
+
if (!model.columns?.length) await model.getColumns();
// extract only pk and pv
@@ -59,7 +67,7 @@ const getAst = async ({
}
let allowedCols = null;
- if (view)
+ if (view) {
allowedCols = (await View.getColumns(view.id)).reduce(
(o, c) => ({
...o,
@@ -67,6 +75,10 @@ const getAst = async ({
}),
{},
);
+ if (coverImageId) {
+ allowedCols[coverImageId] = 1;
+ }
+ }
const ast = await model.columns.reduce(async (obj, col: Column) => {
let value: number | boolean | { [key: string]: any } = 1;
diff --git a/tests/playwright/pages/Dashboard/ViewSidebar/index.ts b/tests/playwright/pages/Dashboard/ViewSidebar/index.ts
index cdc733a690..b319bf4eee 100644
--- a/tests/playwright/pages/Dashboard/ViewSidebar/index.ts
+++ b/tests/playwright/pages/Dashboard/ViewSidebar/index.ts
@@ -59,7 +59,7 @@ export class ViewSidebarPage extends BasePage {
await this.rootPage.locator('input[id="form_item_title"]:visible').waitFor({ state: 'visible' });
await this.rootPage.locator('input[id="form_item_title"]:visible').fill(title);
const submitAction = () =>
- this.rootPage.locator('.ant-modal-content').locator('button.ant-btn.ant-btn-primary').click();
+ this.rootPage.locator('.ant-modal-content').locator('button.ant-btn.ant-btn-primary').click({ force: true });
await this.waitForResponse({
httpMethodsToMatch: ['POST'],
requestUrlPathToMatch: '/api/v1/db/meta/tables/',