feat: Add doc rename hook in server script (#25085)
* feat: Add doc rename hook in server script * feat: Add test case for doc event in server script
This commit is contained in:
parent
01d29283f1
commit
911846368f
4 changed files with 37 additions and 5 deletions
|
|
@ -49,14 +49,15 @@
|
|||
"in_list_view": 1,
|
||||
"in_standard_filter": 1,
|
||||
"label": "Reference Document Type",
|
||||
"options": "DocType"
|
||||
"options": "DocType",
|
||||
"search_index": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:doc.script_type==='DocType Event'",
|
||||
"fieldname": "doctype_event",
|
||||
"fieldtype": "Select",
|
||||
"label": "DocType Event",
|
||||
"options": "Before Insert\nBefore Validate\nBefore Save\nAfter Insert\nAfter Save\nBefore Submit\nAfter Submit\nBefore Cancel\nAfter Cancel\nBefore Delete\nAfter Delete\nBefore Save (Submitted Document)\nAfter Save (Submitted Document)\nOn Payment Authorization\nOn Payment Paid\nOn Payment Failed"
|
||||
"options": "Before Insert\nBefore Validate\nBefore Save\nAfter Insert\nAfter Save\nBefore Rename\nAfter Rename\nBefore Submit\nAfter Submit\nBefore Cancel\nAfter Cancel\nBefore Delete\nAfter Delete\nBefore Save (Submitted Document)\nAfter Save (Submitted Document)\nOn Payment Authorization\nOn Payment Paid\nOn Payment Failed"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:doc.script_type==='API'",
|
||||
|
|
@ -106,7 +107,8 @@
|
|||
"fieldname": "module",
|
||||
"fieldtype": "Link",
|
||||
"label": "Module (for export)",
|
||||
"options": "Module Def"
|
||||
"options": "Module Def",
|
||||
"search_index": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:doc.script_type==='API'",
|
||||
|
|
@ -149,7 +151,7 @@
|
|||
"link_fieldname": "server_script"
|
||||
}
|
||||
],
|
||||
"modified": "2024-02-06 07:09:45.478533",
|
||||
"modified": "2024-02-27 11:44:46.397495",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "Server Script",
|
||||
|
|
@ -173,4 +175,4 @@
|
|||
"sort_order": "DESC",
|
||||
"states": [],
|
||||
"track_changes": 1
|
||||
}
|
||||
}
|
||||
|
|
@ -36,6 +36,8 @@ class ServerScript(Document):
|
|||
"Before Save",
|
||||
"After Insert",
|
||||
"After Save",
|
||||
"Before Rename",
|
||||
"After Rename",
|
||||
"Before Submit",
|
||||
"After Submit",
|
||||
"Before Cancel",
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ EVENT_MAP = {
|
|||
"before_validate": "Before Validate",
|
||||
"validate": "Before Save",
|
||||
"on_update": "After Save",
|
||||
"before_rename": "Before Rename",
|
||||
"after_rename": "After Rename",
|
||||
"before_submit": "Before Submit",
|
||||
"on_submit": "After Submit",
|
||||
"before_cancel": "Before Cancel",
|
||||
|
|
|
|||
|
|
@ -82,6 +82,26 @@ frappe.db.commit()
|
|||
disabled=1,
|
||||
script="""
|
||||
frappe.db.add_index("Todo", ["color", "date"])
|
||||
""",
|
||||
),
|
||||
dict(
|
||||
name="test_before_rename",
|
||||
script_type="DocType Event",
|
||||
doctype_event="After Rename",
|
||||
reference_doctype="Role",
|
||||
script="""
|
||||
doc.desk_access =0
|
||||
doc.save()
|
||||
""",
|
||||
),
|
||||
dict(
|
||||
name="test_after_rename",
|
||||
script_type="DocType Event",
|
||||
doctype_event="After Rename",
|
||||
reference_doctype="Role",
|
||||
script="""
|
||||
doc.disabled =1
|
||||
doc.save()
|
||||
""",
|
||||
),
|
||||
]
|
||||
|
|
@ -121,6 +141,12 @@ class TestServerScript(FrappeTestCase):
|
|||
frappe.ValidationError, frappe.get_doc(doctype="ToDo", description="validate me").insert
|
||||
)
|
||||
|
||||
role = frappe.get_doc(doctype="Role", role_name="_Test Role 9").insert(ignore_if_duplicate=True)
|
||||
role.rename("_Test Role 10")
|
||||
role.reload()
|
||||
self.assertEqual(role.disabled, 1)
|
||||
self.assertEqual(role.desk_access, 0)
|
||||
|
||||
def test_api(self):
|
||||
response = requests.post(get_site_url(frappe.local.site) + "/api/method/test_server_script")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue