1
0
forked from test/crm

fix: load assignees in document.js

(cherry picked from commit 6d281922e401a0961840135dc6255286c4611f7f)
This commit is contained in:
Shariq Ansari 2025-06-05 18:53:57 +05:30 committed by Mergify
parent 90c2832f44
commit 88f4e10833
2 changed files with 23 additions and 2 deletions

View File

@ -1,6 +1,6 @@
import { getScript } from '@/data/script'
import { runSequentially } from '@/utils'
import { createDocumentResource, toast } from 'frappe-ui'
import { runSequentially, parseAssignees } from '@/utils'
import { createDocumentResource, createResource, toast } from 'frappe-ui'
import { reactive } from 'vue'
const documentsCache = {}
@ -35,6 +35,17 @@ export function useDocument(doctype, docname) {
}
}
const assignees = createResource({
url: 'crm.api.doc.get_assigned_users',
cache: `assignees:${doctype}:${docname}`,
auto: true,
params: {
doctype: doctype,
name: docname,
},
transform: (data) => parseAssignees(data),
})
async function setupFormScript() {
if (
controllersCache[doctype] &&
@ -177,6 +188,7 @@ export function useDocument(doctype, docname) {
return {
document: documentsCache[doctype][docname || ''],
assignees,
triggerOnChange,
triggerOnRowAdd,
triggerOnRowRemove,

View File

@ -221,6 +221,15 @@ export function setupAssignees(doc) {
}))
}
export function parseAssignees(assignees) {
let { getUser } = usersStore()
return assignees.map((user) => ({
name: user,
image: getUser(user).user_image,
label: getUser(user).full_name,
}))
}
async function getFormScript(script, obj) {
if (!script.includes('setupForm(')) return {}
let scriptFn = new Function(script + '\nreturn setupForm')()