refactor: get rid of noise and add docstring
This commit is contained in:
parent
6929f5e7a9
commit
3774a68093
2 changed files with 5 additions and 6 deletions
|
|
@ -211,6 +211,7 @@ class ServerScript(Document):
|
|||
|
||||
Args:
|
||||
user (str): Take user email to execute script and return list of conditions.
|
||||
active_child_tables (list, optional): A list of child table names involved in the current SQL query.
|
||||
|
||||
Return:
|
||||
list: Return list of conditions defined by rules in self.script.
|
||||
|
|
@ -218,8 +219,7 @@ class ServerScript(Document):
|
|||
locals = {
|
||||
"user": user,
|
||||
"conditions": "",
|
||||
"active_child_tables": active_child_tables
|
||||
or [], # add 'active_child_tables' to the locals dictionary
|
||||
"active_child_tables": active_child_tables or [],
|
||||
}
|
||||
safe_exec(self.script, None, locals, script_filename=self.name)
|
||||
if locals["conditions"]:
|
||||
|
|
|
|||
|
|
@ -1151,17 +1151,16 @@ from {tables}
|
|||
conditions.append(c)
|
||||
|
||||
active_child_tables = []
|
||||
if hasattr(self, "tables") and len(self.tables) > 1: # only if query has multiple tables involved
|
||||
if len(self.tables) > 1: # only if query has multiple tables involved
|
||||
for table_name in self.tables:
|
||||
# skip parent table (user_permissions are already applied)
|
||||
if table_name != f"`tab{self.doctype}`":
|
||||
active_child_tables.append(table_name) # track child tables
|
||||
active_child_tables.append(table_name)
|
||||
|
||||
if permission_script_name := get_server_script_map().get("permission_query", {}).get(self.doctype):
|
||||
script = frappe.get_doc("Server Script", permission_script_name)
|
||||
if condition := script.get_permission_query_conditions(
|
||||
self.user, active_child_tables=active_child_tables
|
||||
): # parse tracked child tables
|
||||
):
|
||||
conditions.append(condition)
|
||||
|
||||
return " and ".join(conditions) if conditions else ""
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue