fix: use get_all instead of get_list

- query report already filters records based on permissions for link fields

- allow employees access to leave balance report by default
This commit is contained in:
Rucha Mahabal
2023-11-17 13:46:46 +05:30
parent eea7bbcea7
commit 4b8ed0f6ae
2 changed files with 27 additions and 21 deletions

View File

@@ -1,26 +1,32 @@
{ {
"add_total_row": 0, "add_total_row": 0,
"apply_user_permissions": 1, "columns": [],
"creation": "2013-02-22 15:29:34", "creation": "2013-02-22 15:29:34",
"disabled": 0, "disabled": 0,
"docstatus": 0, "docstatus": 0,
"doctype": "Report", "doctype": "Report",
"idx": 3, "filters": [],
"is_standard": "Yes", "idx": 3,
"modified": "2017-02-24 20:18:04.317397", "is_standard": "Yes",
"modified_by": "Administrator", "letterhead": null,
"module": "HR", "modified": "2023-11-17 13:28:40.669200",
"name": "Employee Leave Balance", "modified_by": "Administrator",
"owner": "Administrator", "module": "HR",
"ref_doctype": "Employee", "name": "Employee Leave Balance",
"report_name": "Employee Leave Balance", "owner": "Administrator",
"report_type": "Script Report", "prepared_report": 0,
"ref_doctype": "Employee",
"report_name": "Employee Leave Balance",
"report_type": "Script Report",
"roles": [ "roles": [
{ {
"role": "HR User" "role": "HR User"
}, },
{ {
"role": "HR Manager" "role": "HR Manager"
},
{
"role": "Employee"
} }
] ]
} }

View File

@@ -85,19 +85,19 @@ def get_columns() -> List[Dict]:
def get_data(filters: Filters) -> List: def get_data(filters: Filters) -> List:
leave_types = frappe.db.get_list("Leave Type", pluck="name", order_by="name") leave_types = frappe.get_all("Leave Type", pluck="name", order_by="name")
conditions = get_conditions(filters) conditions = get_conditions(filters)
user = frappe.session.user user = frappe.session.user
department_approver_map = get_department_leave_approver_map(filters.department) department_approver_map = get_department_leave_approver_map(filters.department)
active_employees = frappe.get_list( active_employees = frappe.get_all(
"Employee", "Employee",
filters=conditions, filters=conditions,
fields=["name", "employee_name", "department", "user_id", "leave_approver"], fields=["name", "employee_name", "department", "user_id", "leave_approver"],
) )
precision = cint(frappe.db.get_single_value("System Settings", "float_precision", cache=True)) precision = cint(frappe.db.get_single_value("System Settings", "float_precision"))
consolidate_leave_types = len(active_employees) > 1 and filters.consolidate_leave_types consolidate_leave_types = len(active_employees) > 1 and filters.consolidate_leave_types
row = None row = None
@@ -188,7 +188,7 @@ def get_conditions(filters: Filters) -> Dict:
def get_department_leave_approver_map(department: Optional[str] = None): def get_department_leave_approver_map(department: Optional[str] = None):
# get current department and all its child # get current department and all its child
department_list = frappe.get_list( department_list = frappe.get_all(
"Department", "Department",
filters={"disabled": 0}, filters={"disabled": 0},
or_filters={"name": department, "parent_department": department}, or_filters={"name": department, "parent_department": department},