fix(india): eway bill cancel api is disabled (#31055)

This commit is contained in:
maharshivpatel 2022-05-18 11:52:31 +05:30 committed by GitHub
parent 28fe4f3d54
commit 65d55ea8fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 53 deletions

View File

@ -149,58 +149,27 @@ erpnext.setup_einvoice_actions = (doctype) => {
} }
if (irn && ewaybill && !irn_cancelled && !eway_bill_cancelled) { if (irn && ewaybill && !irn_cancelled && !eway_bill_cancelled) {
const fields = [
{
"label": "Reason",
"fieldname": "reason",
"fieldtype": "Select",
"reqd": 1,
"default": "1-Duplicate",
"options": ["1-Duplicate", "2-Data Entry Error", "3-Order Cancelled", "4-Other"]
},
{
"label": "Remark",
"fieldname": "remark",
"fieldtype": "Data",
"reqd": 1
}
];
const action = () => { const action = () => {
const d = new frappe.ui.Dialog({ let message = __('Cancellation of e-way bill is currently not supported.') + ' ';
title: __('Cancel E-Way Bill'), message += '<br><br>';
fields: fields, message += __('You must first use the portal to cancel the e-way bill and then update the cancelled status in the ERPNext system.');
primary_action: function() {
const data = d.get_values(); const dialog = frappe.msgprint({
frappe.call({ title: __('Update E-Way Bill Cancelled Status?'),
method: 'erpnext.regional.india.e_invoice.utils.cancel_eway_bill', message: message,
args: { indicator: 'orange',
doctype, primary_action: {
docname: name, action: function() {
eway_bill: ewaybill, frappe.call({
reason: data.reason.split('-')[0], method: 'erpnext.regional.india.e_invoice.utils.cancel_eway_bill',
remark: data.remark args: { doctype, docname: name },
}, freeze: true,
freeze: true, callback: () => frm.reload_doc() && dialog.hide()
callback: () => { });
frappe.show_alert({ }
message: __('E-Way Bill Cancelled successfully'),
indicator: 'green'
}, 7);
frm.reload_doc();
d.hide();
},
error: () => {
frappe.show_alert({
message: __('E-Way Bill was not Cancelled'),
indicator: 'red'
}, 7);
d.hide();
}
});
}, },
primary_action_label: __('Submit') primary_action_label: __('Yes')
}); });
d.show();
}; };
add_custom_button(__("Cancel E-Way Bill"), action); add_custom_button(__("Cancel E-Way Bill"), action);
} }

View File

@ -797,7 +797,8 @@ class GSPConnector:
self.irn_details_url = self.base_url + "/enriched/ei/api/invoice/irn" self.irn_details_url = self.base_url + "/enriched/ei/api/invoice/irn"
self.generate_irn_url = self.base_url + "/enriched/ei/api/invoice" self.generate_irn_url = self.base_url + "/enriched/ei/api/invoice"
self.gstin_details_url = self.base_url + "/enriched/ei/api/master/gstin" self.gstin_details_url = self.base_url + "/enriched/ei/api/master/gstin"
self.cancel_ewaybill_url = self.base_url + "/enriched/ei/api/ewayapi" # cancel_ewaybill_url will only work if user have bought ewb api from adaequare.
self.cancel_ewaybill_url = self.base_url + "/enriched/ewb/ewayapi?action=CANEWB"
self.generate_ewaybill_url = self.base_url + "/enriched/ei/api/ewaybill" self.generate_ewaybill_url = self.base_url + "/enriched/ei/api/ewaybill"
self.get_qrcode_url = self.base_url + "/enriched/ei/others/qr/image" self.get_qrcode_url = self.base_url + "/enriched/ei/others/qr/image"
@ -1185,6 +1186,7 @@ class GSPConnector:
headers = self.get_headers() headers = self.get_headers()
data = json.dumps({"ewbNo": eway_bill, "cancelRsnCode": reason, "cancelRmrk": remark}, indent=4) data = json.dumps({"ewbNo": eway_bill, "cancelRsnCode": reason, "cancelRmrk": remark}, indent=4)
headers["username"] = headers["user_name"] headers["username"] = headers["user_name"]
del headers["user_name"]
try: try:
res = self.make_request("post", self.cancel_ewaybill_url, headers, data) res = self.make_request("post", self.cancel_ewaybill_url, headers, data)
if res.get("success"): if res.get("success"):
@ -1358,9 +1360,13 @@ def generate_eway_bill(doctype, docname, **kwargs):
@frappe.whitelist() @frappe.whitelist()
def cancel_eway_bill(doctype, docname, eway_bill, reason, remark): def cancel_eway_bill(doctype, docname):
gsp_connector = GSPConnector(doctype, docname) # NOTE: cancel_eway_bill api is disabled by Adequare.
gsp_connector.cancel_eway_bill(eway_bill, reason, remark) # gsp_connector = GSPConnector(doctype, docname)
# gsp_connector.cancel_eway_bill(eway_bill, reason, remark)
frappe.db.set_value(doctype, docname, "ewaybill", "")
frappe.db.set_value(doctype, docname, "eway_bill_cancelled", 1)
@frappe.whitelist() @frappe.whitelist()