Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
33 lines
770 B
Python
33 lines
770 B
Python
import frappe
|
|
|
|
|
|
@frappe.whitelist()
|
|
def get_assignment_rules_list():
|
|
assignment_rules = []
|
|
for docname in frappe.get_all(
|
|
"Assignment Rule", filters={"document_type": ["in", ["CRM Lead", "CRM Deal"]]}
|
|
):
|
|
doc = frappe.get_value(
|
|
"Assignment Rule",
|
|
docname,
|
|
fieldname=[
|
|
"name",
|
|
"description",
|
|
"disabled",
|
|
"priority",
|
|
],
|
|
as_dict=True,
|
|
)
|
|
users_exists = bool(frappe.db.exists("Assignment Rule User", {"parent": docname.name}))
|
|
assignment_rules.append({**doc, "users_exists": users_exists})
|
|
return assignment_rules
|
|
|
|
|
|
@frappe.whitelist()
|
|
def duplicate_assignment_rule(docname: str, new_name: str):
|
|
doc = frappe.get_doc("Assignment Rule", docname)
|
|
doc.name = new_name
|
|
doc.assignment_rule_name = new_name
|
|
doc.insert()
|
|
return doc
|