Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

49 lignes
1.3 KiB

  1. # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
  2. # License: MIT. See LICENSE
  3. import frappe
  4. from frappe.query_builder import DocType, Interval
  5. from frappe.query_builder.functions import Now
  6. def get_notification_config():
  7. return {
  8. "for_doctype": {
  9. "Error Log": {"seen": 0},
  10. "Communication": {"status": "Open", "communication_type": "Communication"},
  11. "ToDo": "frappe.core.notifications.get_things_todo",
  12. "Event": "frappe.core.notifications.get_todays_events",
  13. "Error Snapshot": {"seen": 0, "parent_error_snapshot": None},
  14. "Workflow Action": {"status": "Open"},
  15. },
  16. }
  17. def get_things_todo(as_list=False):
  18. """Returns a count of incomplete todos"""
  19. data = frappe.get_list(
  20. "ToDo",
  21. fields=["name", "description"] if as_list else "count(*)",
  22. filters=[["ToDo", "status", "=", "Open"]],
  23. or_filters=[
  24. ["ToDo", "allocated_to", "=", frappe.session.user],
  25. ["ToDo", "assigned_by", "=", frappe.session.user],
  26. ],
  27. as_list=True,
  28. )
  29. if as_list:
  30. return data
  31. else:
  32. return data[0][0]
  33. def get_todays_events(as_list=False):
  34. """Returns a count of todays events in calendar"""
  35. from frappe.desk.doctype.event.event import get_events
  36. from frappe.utils import nowdate
  37. today = nowdate()
  38. events = get_events(today, today)
  39. return events if as_list else len(events)