diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index 6a813f2d574..e7fb373676a 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -946,7 +946,8 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa this.refresh(); - if (!this.pos.get('selectedOrder')._printed) { + if (!this.pos.get('selectedOrder')._printed && + !this.pos.config.iface_print_via_proxy) { this.print(); } @@ -1327,13 +1328,21 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa }); }else{ - this.pos.push_order(currentOrder) + this.pos.push_order(currentOrder); + var cO = this.pos.get('selectedOrder'); + var isChange = cO.getPaidTotal() > cO.getTotalTaxIncluded(); + if(this.pos.config.iface_print_via_proxy){ var receipt = currentOrder.export_for_printing(); this.pos.proxy.print_receipt(QWeb.render('XmlReceipt',{ receipt: receipt, widget: self, })); - this.pos.get('selectedOrder').destroy(); //finish order and go back to scan screen + if(isChange) { + this.pos_widget.screen_selector.set_current_screen(this.next_screen); + } + else { + this.pos.get('selectedOrder').destroy(); //finish order and go back to scan screen + } }else{ this.pos_widget.screen_selector.set_current_screen(this.next_screen); }