diff --git a/packages/nc-gui/composables/useSharedFormViewStore.ts b/packages/nc-gui/composables/useSharedFormViewStore.ts index e10d40e92e..0a865f97d2 100644 --- a/packages/nc-gui/composables/useSharedFormViewStore.ts +++ b/packages/nc-gui/composables/useSharedFormViewStore.ts @@ -132,25 +132,27 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share {} as Record, ) - columns.value = viewMeta.model?.columns?.map((c) => { - if ( - !isSystemColumn(c) && - !isVirtualCol(c) && - !isAttachment(c) && - c.uidt !== UITypes.SpecificDBType && - c?.title && - c?.cdf && - !/^\w+\(\)|CURRENT_TIMESTAMP$/.test(c.cdf) - ) { - formState.value[c.title] = typeof c.cdf === 'string' ? c.cdf.replace(/^'|'$/g, '') : c.cdf - } + columns.value = (viewMeta.model?.columns || []) + .filter((c) => fieldById[c.id]) + .map((c) => { + if ( + !isSystemColumn(c) && + !isVirtualCol(c) && + !isAttachment(c) && + c.uidt !== UITypes.SpecificDBType && + c?.title && + c?.cdf && + !/^\w+\(\)|CURRENT_TIMESTAMP$/.test(c.cdf) + ) { + formState.value[c.title] = typeof c.cdf === 'string' ? c.cdf.replace(/^'|'$/g, '') : c.cdf + } - return { - ...c, - meta: { ...parseProp(fieldById[c.id].meta), ...parseProp(c.meta) }, - description: fieldById[c.id].description, - } - }) + return { + ...c, + meta: { ...parseProp(fieldById[c.id].meta), ...parseProp(c.meta) }, + description: fieldById[c.id].description, + } + }) const _sharedViewMeta = (viewMeta as any).meta sharedViewMeta.value = isString(_sharedViewMeta) ? JSON.parse(_sharedViewMeta) : _sharedViewMeta @@ -188,6 +190,9 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share if (password.value && password.value !== '') { passwordError.value = error.message } + } else if (error.error === NcErrorType.UNKNOWN_ERROR) { + console.error('Error occurred while loading shared form view', e) + message.error('Error occurred while loading shared form view') } } } diff --git a/packages/nocodb/src/services/public-metas.service.ts b/packages/nocodb/src/services/public-metas.service.ts index 30b80bdc3f..ce9d2e1c3f 100644 --- a/packages/nocodb/src/services/public-metas.service.ts +++ b/packages/nocodb/src/services/public-metas.service.ts @@ -41,6 +41,10 @@ export class PublicMetasService { view.model.columns = view.columns .filter((c) => { const column = view.model.columnsById[c.fk_column_id]; + + // Check if column exists to prevent processing non-existent columns + if (!column) return false; + return ( c.show || (column.rqd && !column.cdf && !column.ai) ||