diff --git a/audit_management/audit_management/doctype/my_audits/my_audits.js b/audit_management/audit_management/doctype/my_audits/my_audits.js index 138f738..093fdba 100755 --- a/audit_management/audit_management/doctype/my_audits/my_audits.js +++ b/audit_management/audit_management/doctype/my_audits/my_audits.js @@ -1135,7 +1135,7 @@ frappe.ui.form.on("My Audits", { .map((r) => { return { name: r.stage_name, - label: `${r.stage_name} (${r.employee_name || "Unassigned"})`, + employee_name: r.employee_name || "Unassigned", status: r.status, is_sent: !!r.status }; @@ -1150,40 +1150,55 @@ frappe.ui.form.on("My Audits", { let html_content = `
-
+
-
- ${stages - .map( - (s) => ` -
- - ${s.status === "Pending" ? ` - - × - - ` : ""} -
- `, - ) - .join("")} +
+ + + + + + + + + + + ${stages.map((s) => ` + + + + + + + `).join("")} + +
#${__("Stage Name")}${__("User Name")}${__("Status / Action")}
+ + ${s.name}${s.employee_name} +
+ + ${s.is_sent ? s.status : __("Not Sent")} + + ${["Pending", "No Response"].includes(s.status) ? ` + + × + + ` : ""} +
+
`; let d = new frappe.ui.Dialog({ - title: __("Raise Audit Request"), + title: __("Send Audit Query"), + size: "extra-large", fields: [ { fieldname: "stagename_html", @@ -1194,7 +1209,6 @@ frappe.ui.form.on("My Audits", { primary_action_label: __("Submit"), primary_action: function () { let selected_stages = []; - // Collect only newly checked ones (that are not disabled) d.$wrapper.find(".stage-checkbox:checked:not(:disabled)").each(function () { selected_stages.push($(this).val()); }); diff --git a/audit_management/audit_management/doctype/my_audits/my_audits.py b/audit_management/audit_management/doctype/my_audits/my_audits.py index 069f3f6..841dd9c 100755 --- a/audit_management/audit_management/doctype/my_audits/my_audits.py +++ b/audit_management/audit_management/doctype/my_audits/my_audits.py @@ -1059,8 +1059,8 @@ def rollback_stage(docname, stagename): for row in doc.audit_stages: if row.stage_name == stagename: - if row.status != "Pending": - frappe.throw(_("Only Pending stages can be rolled back. {0} is currently {1}.").format(stagename, row.status)) + if row.status not in ["Pending", "No Response"]: + frappe.throw(_("Only Pending or No Response stages can be rolled back. {0} is currently {1}.").format(stagename, row.status)) # 1. Revoke access first (bypass permission checks for administrative rollback) if row.user_id: diff --git a/audit_management/audit_management/report/my_audits_report/my_audits_report.py b/audit_management/audit_management/report/my_audits_report/my_audits_report.py index 71730bb..0673b38 100755 --- a/audit_management/audit_management/report/my_audits_report/my_audits_report.py +++ b/audit_management/audit_management/report/my_audits_report/my_audits_report.py @@ -43,10 +43,6 @@ def get_columns(): {"label": "HR Response", "fieldname": "hr_response_box", "fieldtype": "Data", "width": 180}, {"label": "COO Name", "fieldname": "coo_name", "fieldtype": "Data", "width": 120}, {"label": "COO Response", "fieldname": "coo_response_box", "fieldtype": "Data", "width": 180}, - {"label": "CFO Name", "fieldname": "cfo_name", "fieldtype": "Data", "width": 120}, - {"label": "CFO Response", "fieldname": "cfo_response_box", "fieldtype": "Data", "width": 180}, - {"label": "CHRO Name", "fieldname": "chro_name", "fieldtype": "Data", "width": 120}, - {"label": "CHRO Response", "fieldname": "chro_response_box", "fieldtype": "Data", "width": 180}, {"label": "CEO Name", "fieldname": "ceo_name", "fieldtype": "Data", "width": 120}, {"label": "CEO Response", "fieldname": "ceo_response_box", "fieldtype": "Data", "width": 180}, ] @@ -155,8 +151,6 @@ def get_data(filters): gm_name, gm_response_box, hr_name, hr_response_box, coo_name, coo_response_box, - cfo_name, cfo_response_box, - chro_name, chro_response_box, ceo_name, ceo_response_box FROM `tabMy Audits` {where_clause}