Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
from frappe.utils import getdate, nowdate
from audit_management.audit_management.utils import get_working_days

from audit_management.audit_management.doctype.my_audits.my_audits import get_user_allowed_sol_ids

def execute(filters=None):
columns = get_columns()
data = get_data(filters)
Expand Down Expand Up @@ -63,10 +65,28 @@ def get_columns():
def get_data(filters):
query_filters = {"status": "Pending"}

user = frappe.session.user
roles = frappe.get_roles(user)
is_audit_manager = "Audit Manager" in roles or "Administrator" in roles or "System Manager" in roles

if not is_audit_manager:
# SOL ID based access for others
allowed_sol_ids = get_user_allowed_sol_ids(user)
if allowed_sol_ids:
sol_list = [str(s) for s in allowed_sol_ids]
# Filter by branch linking to these sol ids
allowed_branches = frappe.get_all("Audit Level",
filters={"sahayog_branch": ["in", sol_list]}, pluck="name")

query_filters["emp_branch"] = ["in", allowed_branches]
else:
# If no sol ids, only show owned
query_filters["owner"] = user

if filters.get("from_date"):
query_filters["creation"] = [">=", filters.get("from_date")]
if filters.get("to_date"):
if "creation" in query_filters:
if "creation" in query_filters and isinstance(query_filters["creation"], list) and query_filters["creation"][0] == ">=":
query_filters["creation"] = ["between", [filters.get("from_date"), filters.get("to_date")]]
else:
query_filters["creation"] = ["<=", filters.get("to_date")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
from frappe.utils import getdate, nowdate
from audit_management.audit_management.utils import get_working_days

from audit_management.audit_management.doctype.my_audits.my_audits import get_user_allowed_sol_ids

def execute(filters=None):
columns = get_columns()
data = get_data(filters)
Expand All @@ -20,6 +22,12 @@ def get_columns():
"options": "My Audits",
"width": 150
},
{
"label": _("Closure Date"),
"fieldname": "closing_date",
"fieldtype": "Date",
"width": 100
},
{
"label": _("Recommended Action"),
"fieldname": "recommendations",
Expand Down Expand Up @@ -59,6 +67,24 @@ def get_data(filters):
# Only track those with an RCA Category (Commitment)
query_filters["rca_category"] = ["is", "set"]

user = frappe.session.user
roles = frappe.get_roles(user)
is_audit_manager = "Audit Manager" in roles or "Administrator" in roles or "System Manager" in roles

if not is_audit_manager:
# SOL ID based access for others
allowed_sol_ids = get_user_allowed_sol_ids(user)
if allowed_sol_ids:
sol_list = [str(s) for s in allowed_sol_ids]
# Filter by branch linking to these sol ids
allowed_branches = frappe.get_all("Audit Level",
filters={"sahayog_branch": ["in", sol_list]}, pluck="name")

query_filters["emp_branch"] = ["in", allowed_branches]
else:
# If no sol ids, only show owned
query_filters["owner"] = user

if filters.get("rca_category"):
query_filters["rca_category"] = filters.get("rca_category")

Expand All @@ -67,7 +93,7 @@ def get_data(filters):

audits = frappe.get_all("My Audits",
filters=query_filters,
fields=["name", "recommendations", "rca_category", "action_point_with_tat", "status", "modified"]
fields=["name", "closing_date", "recommendations", "rca_category", "action_point_with_tat", "status", "modified"]
)

for audit in audits:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import frappe
from frappe import _
from audit_management.audit_management.doctype.my_audits.my_audits import get_user_allowed_sol_ids

def execute(filters=None):
if not filters: filters = {}
Expand All @@ -15,43 +16,67 @@ def execute(filters=None):
else: # Final Closure Report
return get_closure_columns(), get_closure_data(filters)

def get_perm_filters():
user = frappe.session.user
roles = frappe.get_roles(user)
is_audit_manager = "Audit Manager" in roles or "Administrator" in roles or "System Manager" in roles

if is_audit_manager:
return {}

allowed_sol_ids = get_user_allowed_sol_ids(user)
if allowed_sol_ids:
sol_list = [str(s) for s in allowed_sol_ids]
allowed_branches = frappe.get_all("Audit Level",
filters={"sahayog_branch": ["in", sol_list]}, pluck="name")
return {"emp_branch": ["in", allowed_branches]}

return {"owner": user}

def get_collateral_columns():
return [
{"label": _("Query ID"), "fieldname": "name", "fieldtype": "Link", "options": "My Audits", "width": 150},
{"label": _("Closure Date"), "fieldname": "closing_date", "fieldtype": "Date", "width": 100},
{"label": _("Branch"), "fieldname": "emp_branch", "fieldtype": "Data", "width": 150},
{"label": _("Collateral Details"), "fieldname": "audit_query_box", "fieldtype": "Small Text", "width": 300},
{"label": _("Status"), "fieldname": "status", "fieldtype": "Data", "width": 100}
]

def get_collateral_data(filters):
query_filters = get_perm_filters()
query_filters.update({"primary_nature": ["like", "%Collateral%"]})
return frappe.get_all("My Audits",
filters={"primary_nature": ["like", "%Collateral%"]},
fields=["name", "emp_branch", "audit_query_box", "status"]
filters=query_filters,
fields=["name", "closing_date", "emp_branch", "audit_query_box", "status"]
)

def get_interest_gl_columns():
return [
{"label": _("Query ID"), "fieldname": "name", "fieldtype": "Link", "options": "My Audits", "width": 150},
{"label": _("Closure Date"), "fieldname": "closing_date", "fieldtype": "Date", "width": 100},
{"label": _("GL Details"), "fieldname": "audit_query_box", "fieldtype": "Small Text", "width": 300},
{"label": _("Deviation"), "fieldname": "root_cause_analysis", "fieldtype": "Small Text", "width": 200},
{"label": _("Status"), "fieldname": "status", "fieldtype": "Data", "width": 100}
]

def get_interest_gl_data(filters):
query_filters = get_perm_filters()
query_filters.update({"primary_nature": ["like", "%Interest GL%"]})
return frappe.get_all("My Audits",
filters={"primary_nature": ["like", "%Interest GL%"]},
fields=["name", "audit_query_box", "root_cause_analysis", "status"]
filters=query_filters,
fields=["name", "closing_date", "audit_query_box", "root_cause_analysis", "status"]
)

def get_closure_columns():
return [
{"label": _("Query ID"), "fieldname": "name", "fieldtype": "Link", "options": "My Audits", "width": 150},
{"label": _("Aging"), "fieldname": "aging", "fieldtype": "Int", "width": 100},
{"label": _("Status"), "fieldname": "status", "fieldtype": "Data", "width": 100},
{"label": _("Closure Date"), "fieldname": "modified", "fieldtype": "Date", "width": 100}
{"label": _("Closure Date"), "fieldname": "closing_date", "fieldtype": "Date", "width": 100}
]

def get_closure_data(filters):
return frappe.get_all("My Audits",
fields=["name", "aging", "status", "modified"]
filters=get_perm_filters(),
fields=["name", "aging", "status", "closing_date"]
)
Loading