feat: pos configuration for print receipt on complete order (#45024)

This commit is contained in:
Diptanil Saha
2025-01-07 17:35:01 +05:30
committed by GitHub
parent 9f77793f16
commit 2788739c1e
3 changed files with 32 additions and 9 deletions

View File

@@ -25,6 +25,7 @@
"hide_unavailable_items",
"auto_add_item_to_cart",
"validate_stock_on_save",
"print_receipt_on_order_complete",
"column_break_16",
"update_stock",
"ignore_pricing_rule",
@@ -374,24 +375,30 @@
},
{
"fieldname": "utm_campaign",
"print_hide": 1,
"fieldtype": "Link",
"label": "Campaign",
"options": "UTM Campaign"
"options": "UTM Campaign",
"print_hide": 1
},
{
"fieldname": "utm_source",
"print_hide": 1,
"fieldtype": "Link",
"label": "Source",
"options": "UTM Source"
"options": "UTM Source",
"print_hide": 1
},
{
"fieldname": "utm_medium",
"print_hide": 1,
"fieldtype": "Link",
"label": "Medium",
"options": "UTM Campaign"
"options": "UTM Campaign",
"print_hide": 1
},
{
"default": "0",
"fieldname": "print_receipt_on_order_complete",
"fieldtype": "Check",
"label": "Print Receipt on Order Complete"
}
],
"icon": "icon-cog",
@@ -419,7 +426,7 @@
"link_fieldname": "pos_profile"
}
],
"modified": "2024-06-28 10:51:48.543766",
"modified": "2025-01-01 11:07:03.161950",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Profile",
@@ -448,4 +455,4 @@
"sort_field": "creation",
"sort_order": "DESC",
"states": []
}
}

View File

@@ -46,6 +46,7 @@ class POSProfile(Document):
letter_head: DF.Link | None
payments: DF.Table[POSPaymentMethod]
print_format: DF.Link | None
print_receipt_on_order_complete: DF.Check
select_print_heading: DF.Link | None
selling_price_list: DF.Link | None
tax_category: DF.Link | None

View File

@@ -1,7 +1,8 @@
erpnext.PointOfSale.PastOrderSummary = class {
constructor({ wrapper, events }) {
constructor({ wrapper, events, pos_profile }) {
this.wrapper = wrapper;
this.events = events;
this.pos_profile = pos_profile;
this.init_component();
}
@@ -355,6 +356,8 @@ erpnext.PointOfSale.PastOrderSummary = class {
const condition_btns_map = this.get_condition_btn_map(after_submission);
this.add_summary_btns(condition_btns_map);
this.print_receipt_on_order_complete();
}
attach_document_info(doc) {
@@ -421,4 +424,16 @@ erpnext.PointOfSale.PastOrderSummary = class {
toggle_component(show) {
show ? this.$component.css("display", "flex") : this.$component.css("display", "none");
}
async print_receipt_on_order_complete() {
const res = await frappe.db.get_value(
"POS Profile",
this.pos_profile,
"print_receipt_on_order_complete"
);
if (res.message.print_receipt_on_order_complete) {
this.print_receipt();
}
}
};