From b6488938f5a40b6ba33ad75fd57bd5391f2bdbae Mon Sep 17 00:00:00 2001 From: cybroodoo Date: Mon, 25 Jan 2016 14:44:20 +0530 Subject: [PATCH] Uploaded pos_change_table Module --- pos_change_table/__init__.py | 0 pos_change_table/__openerp__.py | 25 +++++ .../static/description/change_table.png | Bin 0 -> 41138 bytes .../static/description/index.html | 17 +++ pos_change_table/static/src/css/pos.css | 97 ++++++++++++++++ pos_change_table/static/src/js/floors.js | 105 ++++++++++++++++++ .../static/src/xml/table_change.xml | 16 +++ pos_change_table/template.xml | 10 ++ 8 files changed, 270 insertions(+) create mode 100644 pos_change_table/__init__.py create mode 100644 pos_change_table/__openerp__.py create mode 100644 pos_change_table/static/description/change_table.png create mode 100644 pos_change_table/static/description/index.html create mode 100644 pos_change_table/static/src/css/pos.css create mode 100644 pos_change_table/static/src/js/floors.js create mode 100644 pos_change_table/static/src/xml/table_change.xml create mode 100644 pos_change_table/template.xml diff --git a/pos_change_table/__init__.py b/pos_change_table/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pos_change_table/__openerp__.py b/pos_change_table/__openerp__.py new file mode 100644 index 000000000..8b40490c0 --- /dev/null +++ b/pos_change_table/__openerp__.py @@ -0,0 +1,25 @@ +{ + 'name' : 'POS Change Table', + 'version': '1.0', + 'category': 'POS', + 'summary': "Change Table of Order in POS ", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'description': """ + + +======================= + + +""", + 'depends': ['point_of_sale', 'pos_restaurant','base'], + 'data': [ + 'template.xml' + ], + + 'qweb': [ + "static/src/xml/table_change.xml", + ], + 'installable': True, +} \ No newline at end of file diff --git a/pos_change_table/static/description/change_table.png b/pos_change_table/static/description/change_table.png new file mode 100644 index 0000000000000000000000000000000000000000..69b7b4acf99c06f02ebc6be71242ccc429f82fad GIT binary patch literal 41138 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 fLkNN>w6MxXgL>y?m`XyyCZwfy3;SNhI^=% +

+

Change Table in POS

+

+
+

+ This module allows you to change Table of an order from one to another by using 'change table' button in POS without cancelling the order. +

+

+
+
+
+ +
+
+
+ diff --git a/pos_change_table/static/src/css/pos.css b/pos_change_table/static/src/css/pos.css new file mode 100644 index 000000000..523983c10 --- /dev/null +++ b/pos_change_table/static/src/css/pos.css @@ -0,0 +1,97 @@ +.pos .clientlist-screen .deliveryperson-list{ + font-size: 16px; + width: 100%; + line-height: 40px; +} +.pos .clientlist-screen .deliveryperson-list th, +.pos .clientlist-screen .deliveryperson-list td { + padding: 0px 8px; +} +.pos .clientlist-screen .deliveryperson-list tr{ + transition: all 150ms linear; + background: rgb(230,230,230); +} +.pos .clientlist-screen .deliveryperson-list thead > tr, +.pos .clientlist-screen .deliveryperson-list tr:nth-child(even) { + background: rgb(247,247,247); +} +.pos .clientlist-screen .deliveryperson-list tr.highlight{ + transition: all 150ms linear; + background: rgb(110,200,155) !important; + color: white; +} +.pos .clientlist-screen .deliveryperson-list tr.lowlight{ + transition: all 150ms linear; + background: rgb(216, 238, 227); +} +.pos .clientlist-screen .deliveryperson-list tr.lowlight:nth-child(even){ + transition: all 150ms linear; + background: rgb(227, 246, 237); +} + +.floor-map .table .time-value { + position: absolute; + text-align: center; + background: blue; + margin-top: 5px; + height: 20px; + line-height: 20px; + border-radius: 1px; + font-size: 16px; + z-index: 10; + top: 8px; + left: 16px; + width: 70px; +} +.floor-map .table .round-time { + + top: 50px !important; + left: 70px !important; + +} + + + +.floor-map .table .order-value { + position: absolute; + text-align: center; + background: #0D823C; + margin-top: -50px; + margin-left: -10px; + height: 17px; + line-height: 17px; + border-radius: 10px; + z-index: 10; + left: 0px; + right: 0; + font-size: 12px; + margin: 0 12px; + bottom: 26px; + +} +.floor-map .table .round-value { + height: 20px !important; + margin: 0 55px !important; + line-height: 20px !important; + bottom: 65px !important; +} + + +.floor-map .table .labels { + display: block; + max-height: 100%; + overflow: hidden; + position: relative; + bottom: 4px; + z-index: 5; +} +.pos .order-button.change-floor-button .fa { + font-size: 24px; +} +.pos .order-button.change-floor-button { + font-weight: bold; + font-size: 16px; + min-width: 128px; + padding-left: 16px; + padding-right: 16px; +} \ No newline at end of file diff --git a/pos_change_table/static/src/js/floors.js b/pos_change_table/static/src/js/floors.js new file mode 100644 index 000000000..c9728f828 --- /dev/null +++ b/pos_change_table/static/src/js/floors.js @@ -0,0 +1,105 @@ +odoo.define('pos_change_table.floors', function (require) { +"use strict"; + var chrome = require('point_of_sale.chrome'); + var gui = require('point_of_sale.gui'); + var models = require('point_of_sale.models'); + var screens = require('point_of_sale.screens'); + var core = require('web.core'); + var QWeb = core.qweb; + var floor = require('pos_restaurant.floors'); + +// We need to modify the OrderSelector to hide itself when we're on +// the floor plan +chrome.OrderSelectorWidget.include({ + change_floor_button_click_handler: function(){ + this.pos.change_table = true; + this.pos.previous_order_id = this.pos.get_order(); + this.pos.set_table(null); + + }, + renderElement: function(){ + var self = this; + this._super(); + if (this.pos.config.iface_floorplan) { + if (this.pos.get_order()) { + if (this.pos.table && this.pos.table.floor) { + this.$('.orders').prepend(QWeb.render('ChangeFloorButton')); + this.$('.change-floor-button').click(function(){ + self.change_floor_button_click_handler(); + }); + } + this.$el.removeClass('oe_invisible'); + } else { + this.$el.addClass('oe_invisible'); + } + } + }, +}); + +// We need to change the way the regular UI sees the orders, it +// needs to only see the orders associated with the current table, +// and when an order is validated, it needs to go back to the floor map. +// +// And when we change the table, we must create an order for that table +// if there is none. +var _super_posmodel = models.PosModel.prototype; + +models.PosModel = models.PosModel.extend({ + initialize: function(session, attributes) { + this.change_table = false; + this.previous_order_id= false; + return _super_posmodel.initialize.call(this,session,attributes); + }, + + // changes the current table. + + set_table: function(table) { + if (this.change_table){ + if (!table) { // no table ? go back to the floor plan, see ScreenSelector + this.set_order(null); + } + else { + this.previous_order_id.table = table; + this.change_table = false; + // table ? load the associated orders ... + this.table = table; + var orders = this.get_order_list(); + if (orders.length) { + this.set_order(orders[0]); // and go to the first one ... + } else { + this.add_new_order(); // or create a new order with the current table + } + + } + + } + else{ + _super_posmodel.set_table.apply(this,arguments); + } + + + + if (!table) { // no table ? go back to the floor plan, see ScreenSelector + this.set_order(null); + } + else { + if(this.change_table){ + this.previous_order_id.table = table; + this.change_table = false; + } + // table ? load the associated orders ... + this.table = table; + var orders = this.get_order_list(); + if (orders.length) { + this.set_order(orders[0]); // and go to the first one ... + } else { + this.add_new_order(); // or create a new order with the current table + } + + } + }, + + + }); + +}); diff --git a/pos_change_table/static/src/xml/table_change.xml b/pos_change_table/static/src/xml/table_change.xml new file mode 100644 index 000000000..09caccbb4 --- /dev/null +++ b/pos_change_table/static/src/xml/table_change.xml @@ -0,0 +1,16 @@ + + + + + + + + + Change Table + + + + + + + diff --git a/pos_change_table/template.xml b/pos_change_table/template.xml new file mode 100644 index 000000000..550deb099 --- /dev/null +++ b/pos_change_table/template.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file