You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

49 lines
1.3 KiB

  1. from frappe import _
  2. doctype_rule_map = {
  3. "Item": {"points": 5, "for_doc_event": "New"},
  4. "Customer": {"points": 5, "for_doc_event": "New"},
  5. "Supplier": {"points": 5, "for_doc_event": "New"},
  6. "Lead": {"points": 2, "for_doc_event": "New"},
  7. "Opportunity": {
  8. "points": 10,
  9. "for_doc_event": "Custom",
  10. "condition": 'doc.status=="Converted"',
  11. "rule_name": _("On Converting Opportunity"),
  12. "user_field": "converted_by",
  13. },
  14. "Sales Order": {
  15. "points": 10,
  16. "for_doc_event": "Submit",
  17. "rule_name": _("On Sales Order Submission"),
  18. "user_field": "modified_by",
  19. },
  20. "Purchase Order": {
  21. "points": 10,
  22. "for_doc_event": "Submit",
  23. "rule_name": _("On Purchase Order Submission"),
  24. "user_field": "modified_by",
  25. },
  26. "Task": {
  27. "points": 5,
  28. "condition": 'doc.status == "Completed"',
  29. "rule_name": _("On Task Completion"),
  30. "user_field": "completed_by",
  31. },
  32. }
  33. def get_default_energy_point_rules():
  34. return [
  35. {
  36. "doctype": "Energy Point Rule",
  37. "reference_doctype": doctype,
  38. "for_doc_event": rule.get("for_doc_event") or "Custom",
  39. "condition": rule.get("condition"),
  40. "rule_name": rule.get("rule_name") or _("On {0} Creation").format(doctype),
  41. "points": rule.get("points"),
  42. "user_field": rule.get("user_field") or "owner",
  43. }
  44. for doctype, rule in doctype_rule_map.items()
  45. ]