diff --git a/frappe/core/doctype/server_script/server_script.py b/frappe/core/doctype/server_script/server_script.py index 18d9a6359c..54b650871f 100644 --- a/frappe/core/doctype/server_script/server_script.py +++ b/frappe/core/doctype/server_script/server_script.py @@ -177,15 +177,13 @@ class ServerScript(Document): Args: doc (Document): Executes script with for a certain document's events """ - self.safe_exec( + safe_exec( + self.script, _locals={"doc": doc}, restrict_commit_rollback=True, script_filename=self.name, ) - def safe_exec(self, **kwargs): - return safe_exec(script=self.script, **kwargs) - def execute_scheduled_method(self): """Specific to Scheduled Jobs via Server Scripts @@ -195,7 +193,7 @@ class ServerScript(Document): if self.script_type != "Scheduler Event": raise frappe.DoesNotExistError - self.safe_exec(script_filename=self.name) + safe_exec(self.script, script_filename=self.name) def get_permission_query_conditions(self, user: str) -> list[str]: """Specific to Permission Query Server Scripts. @@ -207,7 +205,7 @@ class ServerScript(Document): list: Return list of conditions defined by rules in self.script. """ locals = {"user": user, "conditions": ""} - self.safe_exec(_locals=locals, script_filename=self.name) + safe_exec(self.script, None, locals, script_filename=self.name) if locals["conditions"]: return locals["conditions"] @@ -269,7 +267,7 @@ def execute_api_server_script(script: ServerScript, *args, **kwargs): raise frappe.PermissionError # output can be stored in flags - _globals, _locals = script.safe_exec(script_filename=script.name) + _globals, _locals = safe_exec(script.script, script_filename=script.name) return _globals.frappe.flags