Browse Source

fix: insert user from group by (#8889)

pull/8891/head
Mert E 6 months ago committed by GitHub
parent
commit
d82727a065
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 20
      packages/nc-gui/components/cell/User.vue
  2. 2
      packages/nocodb/src/db/BaseModelSqlv2.ts

20
packages/nc-gui/components/cell/User.vue

@ -122,8 +122,20 @@ const editAllowed = computed(() => (hasEditRoles.value || isForm.value) && activ
const vModel = computed({
get: () => {
let selected: { label: string; value: string }[] = []
if (typeof modelValue === 'string') {
const idsOrMails = modelValue.split(',').map((idOrMail) => idOrMail.trim())
let localModelValue = modelValue
// if stringified json
if (typeof localModelValue === 'string' && /^\s*[{[]/.test(localModelValue)) {
try {
localModelValue = JSON.parse(localModelValue)
} catch (e) {
// do nothing
}
}
if (typeof localModelValue === 'string') {
const idsOrMails = localModelValue.split(',').map((idOrMail) => idOrMail.trim())
selected = idsOrMails.reduce((acc, idOrMail) => {
const user = options.value.find((u) => u.id === idOrMail || u.email === idOrMail)
if (user) {
@ -135,8 +147,8 @@ const vModel = computed({
return acc
}, [] as { label: string; value: string }[])
} else {
selected = modelValue
? (Array.isArray(modelValue) ? modelValue : [modelValue]).reduce((acc, item) => {
selected = localModelValue
? (Array.isArray(localModelValue) ? localModelValue : [localModelValue]).reduce((acc, item) => {
const label = item?.display_name || item?.email
if (label) {
acc.push({

2
packages/nocodb/src/db/BaseModelSqlv2.ts

@ -7202,7 +7202,7 @@ class BaseModelSqlv2 {
if (
typeof data[column.column_name] === 'string' &&
/^\s*[{[]$/.test(data[column.column_name])
/^\s*[{[]/.test(data[column.column_name])
) {
try {
data[column.column_name] = JSON.parse(data[column.column_name]);

Loading…
Cancel
Save