|
@@ -35,18 +35,69 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
|
this.pos.get('selectedOrder')._printed = true;
|
|
|
window.print();
|
|
|
},
|
|
|
+
|
|
|
back: function(){
|
|
|
var previous = this.pos.get('selectedOrder').get_screen_data('previous-screen');
|
|
|
if(previous){
|
|
|
this.pos_widget.screen_selector.set_current_screen(previous);
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
refresh: function() {
|
|
|
+ var self = this;
|
|
|
var order = this.pos.get('selectedOrder');
|
|
|
+ var categories = self.pos.printers[0].config.product_categories_ids;
|
|
|
+ var resume = {};
|
|
|
+
|
|
|
+ order.get('orderLines').each(function(item){
|
|
|
+ var line = item.export_as_JSON();
|
|
|
+ if( typeof resume[line.product_id] === 'undefined'){
|
|
|
+ resume[line.product_id] = line.qty;
|
|
|
+ }else{
|
|
|
+ resume[line.product_id] += line.qty;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ var current = resume;
|
|
|
+ var add = [];
|
|
|
+
|
|
|
+ for( product in current){
|
|
|
+ add.push({
|
|
|
+ 'id': product,
|
|
|
+ 'name': this.pos.db.get_product_by_id(product).display_name,
|
|
|
+ 'quantity': current[product],
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ if(categories && categories.length > 0){
|
|
|
+ function product_in_category(product_id){
|
|
|
+ var cat = self.pos.db.get_product_by_id(product_id).pos_categ_id[0];
|
|
|
+ while(cat){
|
|
|
+ for(var i = 0; i < categories.length; i++){
|
|
|
+ if(cat === categories[i]){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cat = self.pos.db.get_category_parent_id(cat);
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var _add = [];
|
|
|
+ for(var i = 0; i < add.length; i++){
|
|
|
+ if(product_in_category(add[i].id)){
|
|
|
+ _add.push(add[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ add = _add;
|
|
|
+ }
|
|
|
+
|
|
|
$('.pos-receipt-container', this.$el).html(QWeb.render('KitchenTicket',{
|
|
|
widget:this,
|
|
|
order: order,
|
|
|
orderlines: order.get('orderLines').models,
|
|
|
+ filterLines: add,
|
|
|
}));
|
|
|
},
|
|
|
});
|
|
@@ -63,7 +114,7 @@ openerp.eiru_kitchen_ticket = function (instance) {
|
|
|
var kitchen_ticket_button = $(QWeb.render('KitchenTicketButton'));
|
|
|
|
|
|
kitchen_ticket_button.click(function(){
|
|
|
- if(self.pos.get('selectedOrder').get('orderLines').models.length > 0){
|
|
|
+ if(self.pos.get('selectedOrder').get('orderLines').models.length > 0){
|
|
|
self.pos_widget.screen_selector.set_current_screen('kitchenticket');
|
|
|
}
|
|
|
});
|