fix: get all notifications in desc order

This commit is contained in:
Shariq Ansari 2024-01-29 22:53:05 +05:30
parent f4be8cc259
commit a5071a1be2
2 changed files with 32 additions and 6 deletions

View File

@ -1,5 +1,5 @@
import frappe
from frappe.query_builder import Order
@frappe.whitelist()
def get_notifications():
@ -11,8 +11,28 @@ def get_notifications():
frappe.qb.from_(Notification)
.select("*")
.where(Notification.to_user == frappe.session.user)
.where(Notification.read == False)
.orderby("creation")
.orderby("creation", order=Order.desc)
)
notifications = query.run(as_dict=True)
return notifications
_notifications = []
for notification in notifications:
reference_doc = frappe.get_value("Comment", notification.comment, ['reference_doctype', 'reference_name'])
_notifications.append({
"creation": notification.creation,
"from_user": {
"name": notification.from_user,
"full_name": frappe.get_value(
"User", notification.from_user, "full_name"
),
},
"type": notification.type,
"to_user": notification.to_user,
"read": notification.read,
"comment": notification.comment,
"reference_doctype": "deal" if reference_doc[0] == "CRM Deal" else "lead",
"reference_name": reference_doc[1],
"route_name": "Deal" if reference_doc[0] == "CRM Deal" else "Lead",
})
return _notifications

View File

@ -8,14 +8,15 @@ export const notificationsStore = defineStore('crm-notifications', () => {
let visible = ref(false)
let unreadNotifications = reactive([])
let allNotifications = reactive([])
const notifications = createResource({
url: 'crm.api.notifications.get_notifications',
cache: 'crm-notifications',
initialData: [],
auto: true,
transform(data) {
unreadNotifications = data
allNotifications = data
unreadNotifications = data.filter((d) => !d.read)
return data
},
})
@ -28,9 +29,14 @@ export const notificationsStore = defineStore('crm-notifications', () => {
return unreadNotifications || []
}
function getAllNotifications() {
return allNotifications || []
}
return {
visible,
toggle,
getAllNotifications,
getUnreadNotifications,
}
})