|
@@ -1,11 +1,3 @@
|
|
-/*
|
|
|
|
- POS Kitchen Ticket for Odoo
|
|
|
|
- Copyright (C) 2016 Dhinesh D <dvdhinesh.mail@gmail.com>
|
|
|
|
- @author: Dhinesh D <dvdhinesh.mail@gmail.com>
|
|
|
|
- The licence is in the file __openerp__.py
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
-
|
|
|
|
openerp.eiru_kitchen_ticket = function (instance) {
|
|
openerp.eiru_kitchen_ticket = function (instance) {
|
|
var module = instance.point_of_sale;
|
|
var module = instance.point_of_sale;
|
|
var _t = instance.web._t,
|
|
var _t = instance.web._t,
|
|
@@ -30,7 +22,6 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
},
|
|
},
|
|
});
|
|
});
|
|
this.refresh();
|
|
this.refresh();
|
|
- this.saveChanges();
|
|
|
|
},
|
|
},
|
|
|
|
|
|
print: function() {
|
|
print: function() {
|
|
@@ -59,23 +50,15 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
return resume;
|
|
return resume;
|
|
},
|
|
},
|
|
|
|
|
|
- saveChanges: function(){
|
|
|
|
- this.old_resume = this.lineResume();
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- refresh: function() {
|
|
|
|
- var self = this;
|
|
|
|
|
|
+ computeChanges: function(){
|
|
var order = this.pos.get('selectedOrder');
|
|
var order = this.pos.get('selectedOrder');
|
|
- var categories = self.pos.printers[0].config.product_categories_ids;
|
|
|
|
-
|
|
|
|
- // **************************************************
|
|
|
|
-
|
|
|
|
|
|
+ var categories = this.pos.printers[0].config.product_categories_ids;
|
|
var current = this.lineResume();
|
|
var current = this.lineResume();
|
|
- var old = this.old_resume || {};
|
|
|
|
|
|
+ var old = this.pos.get('selectedOrder').old_resume || {};
|
|
var add = [];
|
|
var add = [];
|
|
var rem = [];
|
|
var rem = [];
|
|
|
|
|
|
- for(product in current){
|
|
|
|
|
|
+ for( product in current){
|
|
if (typeof old[product] === 'undefined'){
|
|
if (typeof old[product] === 'undefined'){
|
|
add.push({
|
|
add.push({
|
|
'id': product,
|
|
'id': product,
|
|
@@ -108,7 +91,6 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
}
|
|
}
|
|
|
|
|
|
if(categories && categories.length > 0){
|
|
if(categories && categories.length > 0){
|
|
-
|
|
|
|
var self = this;
|
|
var self = this;
|
|
function product_in_category(product_id){
|
|
function product_in_category(product_id){
|
|
var cat = self.pos.db.get_product_by_id(product_id).pos_categ_id[0];
|
|
var cat = self.pos.db.get_product_by_id(product_id).pos_categ_id[0];
|
|
@@ -140,14 +122,34 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
}
|
|
}
|
|
rem = _rem;
|
|
rem = _rem;
|
|
}
|
|
}
|
|
|
|
+ return {
|
|
|
|
+ 'new': add,
|
|
|
|
+ 'cancelled': rem,
|
|
|
|
+ 'name': this.pos.get('selectedOrder').attributes.name
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
|
|
- // ******************************************
|
|
|
|
-
|
|
|
|
|
|
+ hasChangesToPrint: function(){
|
|
|
|
+ var printers = this.pos.printers;
|
|
|
|
+ for(var i = 0; i < printers.length; i++){
|
|
|
|
+ var changes = this.computeChanges(printers[i].config.product_categories_ids);
|
|
|
|
+ if ( changes['new'].length > 0 || changes['cancelled'].length > 0){
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ refresh: function() {
|
|
|
|
+ var self = this;
|
|
|
|
+ var order = self.pos.get('selectedOrder');
|
|
|
|
+ var change = self.computeChanges();
|
|
$('.pos-receipt-container', this.$el).html(QWeb.render('KitchenTicket',{
|
|
$('.pos-receipt-container', this.$el).html(QWeb.render('KitchenTicket',{
|
|
widget:this,
|
|
widget:this,
|
|
order: order,
|
|
order: order,
|
|
orderlines: order.get('orderLines').models,
|
|
orderlines: order.get('orderLines').models,
|
|
- filterLines: add,
|
|
|
|
|
|
+ filterLines: change.new,
|
|
}));
|
|
}));
|
|
},
|
|
},
|
|
});
|
|
});
|
|
@@ -163,8 +165,11 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
var kitchen_ticket_button = $(QWeb.render('KitchenTicketButton'));
|
|
var kitchen_ticket_button = $(QWeb.render('KitchenTicketButton'));
|
|
|
|
|
|
kitchen_ticket_button.click(function(){
|
|
kitchen_ticket_button.click(function(){
|
|
- if(self.pos.get('selectedOrder').get('orderLines').models.length > 0){
|
|
|
|
|
|
+ var order = self.pos.get('selectedOrder');
|
|
|
|
+ if(order.hasChangesToPrint()){
|
|
self.pos_widget.screen_selector.set_current_screen('kitchenticket');
|
|
self.pos_widget.screen_selector.set_current_screen('kitchenticket');
|
|
|
|
+ order.saveChanges();
|
|
|
|
+ self.pos_widget.order_widget.update_summary();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
@@ -172,5 +177,4 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
this.$('.control-buttons').removeClass('oe_hidden');
|
|
this.$('.control-buttons').removeClass('oe_hidden');
|
|
},
|
|
},
|
|
});
|
|
});
|
|
-
|
|
|
|
};
|
|
};
|