fix: load assignees in document.js
This commit is contained in:
parent
58f09331b0
commit
6d281922e4
@ -1,6 +1,6 @@
|
|||||||
import { getScript } from '@/data/script'
|
import { getScript } from '@/data/script'
|
||||||
import { runSequentially } from '@/utils'
|
import { runSequentially, parseAssignees } from '@/utils'
|
||||||
import { createDocumentResource, toast } from 'frappe-ui'
|
import { createDocumentResource, createResource, toast } from 'frappe-ui'
|
||||||
import { reactive } from 'vue'
|
import { reactive } from 'vue'
|
||||||
|
|
||||||
const documentsCache = {}
|
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() {
|
async function setupFormScript() {
|
||||||
if (
|
if (
|
||||||
controllersCache[doctype] &&
|
controllersCache[doctype] &&
|
||||||
@ -177,6 +188,7 @@ export function useDocument(doctype, docname) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
document: documentsCache[doctype][docname || ''],
|
document: documentsCache[doctype][docname || ''],
|
||||||
|
assignees,
|
||||||
triggerOnChange,
|
triggerOnChange,
|
||||||
triggerOnRowAdd,
|
triggerOnRowAdd,
|
||||||
triggerOnRowRemove,
|
triggerOnRowRemove,
|
||||||
|
|||||||
@ -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) {
|
async function getFormScript(script, obj) {
|
||||||
if (!script.includes('setupForm(')) return {}
|
if (!script.includes('setupForm(')) return {}
|
||||||
let scriptFn = new Function(script + '\nreturn setupForm')()
|
let scriptFn = new Function(script + '\nreturn setupForm')()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user