diff --git a/erpnext/regional/doctype/e_invoice_settings/e_invoice_settings.js b/erpnext/regional/doctype/e_invoice_settings/e_invoice_settings.js index c97ebed013f..1b7efeeeddf 100644 --- a/erpnext/regional/doctype/e_invoice_settings/e_invoice_settings.js +++ b/erpnext/regional/doctype/e_invoice_settings/e_invoice_settings.js @@ -4,58 +4,18 @@ frappe.ui.form.on('E Invoice Settings', { refresh: function(frm) { if (!frm.doc.enable) return; - frm.trigger("show_fetch_token_btn"); - frm.add_custom_button(__("Get GSTIN Details"), - () => { - frm.call({ - doc: frm.doc, - method: 'get_gstin_details', - args: { - 'gstin': '36AAECF1151A1ZC' - }, - freeze: true, - callback: (res) => console.log(res) - }); - }); - - frm.add_custom_button(__("Generate IRN"), - () => { - frm.call({ - doc: frm.doc, - method: 'generate_irn', - args: { - 'invoice': 'SINV-20-21-0051' - }, - freeze: true, - callback: (res) => console.log(res) - }); - }); - - frm.add_custom_button(__("Fetch IRN Details"), - () => { - frm.call({ - doc: frm.doc, - method: 'get_irn_details', - args: { - 'irn': 'c63d9e180dfdaa9242e29e2e1e0a8d76f20e116ed3de179a2e9120f384e1b432' - }, - freeze: true, - callback: (res) => console.log(res) - }); - }); }, show_fetch_token_btn(frm) { const { token_expiry } = frm.doc; const now = frappe.datetime.now_datetime(); const expiry_in_mins = moment(token_expiry).diff(now, "minute"); - if (expiry_in_mins <= 1) { + if (expiry_in_mins <= 1 || !token_expiry) { frm.add_custom_button(__("Fetch Token"), () => { frm.call({ - doc: frm.doc, - method: 'make_authentication_request', + method: 'erpnext.regional.india.e_invoice_utils.fetch_token', freeze: true, callback: () => frm.refresh() }); diff --git a/erpnext/regional/india/e_invoice_utils.py b/erpnext/regional/india/e_invoice_utils.py index 3abcf16a72a..228430b580a 100644 --- a/erpnext/regional/india/e_invoice_utils.py +++ b/erpnext/regional/india/e_invoice_utils.py @@ -65,6 +65,7 @@ def get_header(creds): headers.update(dict(Gstin=creds.gstin, AuthToken=creds.auth_token)) return headers +@frappe.whitelist() def fetch_token(self): einv_creds = get_einv_credentials() @@ -250,7 +251,7 @@ def get_item_list(invoice): gst_accounts_list = [d for accounts in gst_accounts.values() for d in accounts if d] for d in invoice.items: - item_schema = read_json("einv_item_schema") + item_schema = read_json("einv_item_template") item = frappe._dict(dict()) item.update(d.as_dict()) item.sr_no = d.idx @@ -331,7 +332,7 @@ def get_return_doc_reference(invoice): )) def make_e_invoice(invoice): - schema = read_json("einv_schema") + schema = read_json("einv_template") validations = read_json("einv_validation") validations = json.loads(validations) diff --git a/erpnext/regional/india/einv_item_schema.json b/erpnext/regional/india/einv_item_template.json similarity index 100% rename from erpnext/regional/india/einv_item_schema.json rename to erpnext/regional/india/einv_item_template.json diff --git a/erpnext/regional/india/einv_schema.json b/erpnext/regional/india/einv_template.json similarity index 100% rename from erpnext/regional/india/einv_schema.json rename to erpnext/regional/india/einv_template.json