From aefb2d4cc6dd9ce1921744cd0b7dc155435c7748 Mon Sep 17 00:00:00 2001 From: Ty Reynolds Date: Fri, 13 Feb 2026 10:59:38 -0500 Subject: [PATCH] Finished Quick Entry --- ns_app/api/customer.py | 10 ++++++++-- ns_app/public/js/customer_quick_entry.js | 25 +++++++++++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/ns_app/api/customer.py b/ns_app/api/customer.py index 932dfb8..3f7c31c 100644 --- a/ns_app/api/customer.py +++ b/ns_app/api/customer.py @@ -3,7 +3,7 @@ from frappe import _ @frappe.whitelist() def create_customer_full(**data): - frappe.only_for("System Manager", "Sales User", "Sales Manager") + frappe.only_for(["System Manager", "Sales User", "Sales Manager"]) required = [ "customer_name", @@ -26,16 +26,22 @@ def create_customer_full(**data): try: frappe.db.begin() + if data.get("custom_auto_pay_enabled") and not data.get("custom_auto_pay_id"): + frappe.throw("Auto Pay ID is required when Auto Pay is enabled.") + + customer = frappe.get_doc({ "doctype": "Customer", "customer_name": data["customer_name"], "customer_type": data["customer_type"], "customer_group": data["customer_group"], "territory": "United States", - "custom_auto_pay_status": "Active" if data.get("custom_auto_pay_enabled") else "Disabled", + "custom_auto_pay_status": 1 if data.get("custom_auto_pay_enabled") else 0, + "custom_auto_pay_id": data.get("custom_auto_pay_id") if data.get("custom_auto_pay_enabled") else "", "custom_send_via": data.get("custom_send_via"), }).insert(ignore_permissions=True) + contact = frappe.get_doc({ "doctype": "Contact", "first_name": data["customer_name"] diff --git a/ns_app/public/js/customer_quick_entry.js b/ns_app/public/js/customer_quick_entry.js index ba61dfd..4cb6f16 100644 --- a/ns_app/public/js/customer_quick_entry.js +++ b/ns_app/public/js/customer_quick_entry.js @@ -55,11 +55,16 @@ ns_app.customer.open_quick_entry = function (opts = {}) { fieldtype: "Check", default: 0 }, + { + fieldname: "custom_auto_pay_id", + label: "AutoPay ID", + fieldtype: "Data" + }, { fieldname: "custom_send_via", label: "Send Via", fieldtype: "Select", - options: "Mail\nEmail\nFax" + options: "mail\nemail\nfax" }, // ───────── CONTACT ───────── @@ -170,6 +175,24 @@ ns_app.customer.open_quick_entry = function (opts = {}) { d.show(); + let autoPayField = d.get_field("custom_auto_pay_enabled"); + + // Initial state + d.set_df_property( + "custom_auto_pay_id", + "hidden", + !d.get_value("custom_auto_pay_enabled") + ); + + // When checkbox changes + autoPayField.$input.on("change", () => { + let isChecked = d.get_value("custom_auto_pay_enabled"); + + d.set_df_property("custom_auto_pay_id", "hidden", !isChecked); + }); + + + // Prevent Enter from submitting unless primary button is focused d.$wrapper.on("keydown", "input, select, textarea", function (e) { if (e.key === "Enter") {