fix: load notes from get_activities

This commit is contained in:
Shariq Ansari 2024-02-18 17:07:55 +05:30
parent 3ba549422e
commit 792d9fb871
2 changed files with 21 additions and 19 deletions

View File

@ -33,10 +33,11 @@ def get_deal_activities(name):
activities = []
calls = []
notes = []
creation_text = "created this deal"
if lead:
activities, calls = get_lead_activities(lead)
activities, calls, notes = get_lead_activities(lead)
creation_text = "converted the lead to this deal"
activities.append({
@ -127,11 +128,12 @@ def get_deal_activities(name):
activities.append(activity)
calls = calls + get_linked_calls(name)
notes = notes + get_linked_notes(name)
activities.sort(key=lambda x: x["creation"], reverse=True)
activities = handle_multiple_versions(activities)
return activities, calls
return activities, calls, notes
def get_lead_activities(name):
get_docinfo('', "CRM Lead", name)
@ -236,11 +238,12 @@ def get_lead_activities(name):
activities.append(activity)
calls = get_linked_calls(name)
notes = get_linked_notes(name)
activities.sort(key=lambda x: x["creation"], reverse=True)
activities = handle_multiple_versions(activities)
return activities, calls
return activities, calls, notes
@redis_cache()
def get_attachments(name):
@ -303,4 +306,12 @@ def get_linked_calls(name):
"note",
],
)
return calls or []
return calls or []
def get_linked_notes(name):
notes = frappe.db.get_all(
"CRM Note",
filters={"reference_docname": name},
fields=['name', 'title', 'content', 'owner', 'modified'],
)
return notes or []

View File

@ -717,7 +717,7 @@
/>
<NoteModal
v-model="showNoteModal"
v-model:reloadNotes="notes"
v-model:reloadNotes="all_activities"
:note="note"
:doctype="doctype"
:doc="doc.data?.name"
@ -804,7 +804,7 @@ const all_activities = createResource({
params: { name: doc.value.data.name },
cache: ['activity', doc.value.data.name],
auto: true,
transform: ([versions, calls]) => {
transform: ([versions, calls, notes]) => {
if (calls?.length) {
calls.forEach((doc) => {
doc.show_recording = false
@ -839,20 +839,10 @@ const all_activities = createResource({
}
})
}
return { versions, calls }
return { versions, calls, notes }
},
})
const notes = createListResource({
type: 'list',
doctype: 'CRM Note',
cache: ['Notes', doc.value.data.name],
fields: ['name', 'title', 'content', 'owner', 'modified'],
filters: { reference_docname: doc.value.data.name },
orderBy: 'modified desc',
pageLength: 999,
})
const tasks = createListResource({
type: 'list',
doctype: 'CRM Task',
@ -901,7 +891,8 @@ const activities = computed(() => {
(a, b) => new Date(a.creation) - new Date(b.creation)
)
} else if (props.title == 'Notes') {
return notes.data?.sort(
if (!all_activities.data?.notes) return []
return all_activities.data.notes.sort(
(a, b) => new Date(a.creation) - new Date(b.creation)
)
}
@ -1018,7 +1009,7 @@ async function deleteNote(name) {
doctype: 'CRM Note',
name,
})
notes.reload()
all_activities.reload()
}
// Tasks