changed the clients to be partners instead of users, fixed receipt print css
bzr revid: fva@openerp.com-20121121112644-xqj6n0yvy0sahwev
This commit is contained in:
parent
1af48858a5
commit
87550820ac
|
@ -22,6 +22,7 @@
|
||||||
import point_of_sale
|
import point_of_sale
|
||||||
import account_bank_statement
|
import account_bank_statement
|
||||||
import res_users
|
import res_users
|
||||||
|
import res_partner
|
||||||
import wizard
|
import wizard
|
||||||
import report
|
import report
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,7 @@ Main Features
|
||||||
'account_statement_view.xml',
|
'account_statement_view.xml',
|
||||||
'account_statement_report.xml',
|
'account_statement_report.xml',
|
||||||
'res_users_view.xml',
|
'res_users_view.xml',
|
||||||
|
'res_partner_view.xml',
|
||||||
],
|
],
|
||||||
'demo': [
|
'demo': [
|
||||||
'point_of_sale_demo.xml',
|
'point_of_sale_demo.xml',
|
||||||
|
|
|
@ -1,6 +1,30 @@
|
||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="0">
|
||||||
|
|
||||||
|
<!-- Partners with EAN13s -->
|
||||||
|
<record id='base.res_partner_1' model='res.partner'> <field name='ean13'>0420100000005</field> </record>
|
||||||
|
<record id='base.res_partner_2' model='res.partner'> <field name='ean13'>0420200000004</field> </record>
|
||||||
|
<record id='base.res_partner_3' model='res.partner'> <field name='ean13'>0420300000003</field> </record>
|
||||||
|
<record id='base.res_partner_4' model='res.partner'> <field name='ean13'>0420400000002</field> </record>
|
||||||
|
<record id='base.res_partner_5' model='res.partner'> <field name='ean13'>0420500000001</field> </record>
|
||||||
|
<record id='base.res_partner_6' model='res.partner'> <field name='ean13'>0420600000000</field> </record>
|
||||||
|
<record id='base.res_partner_7' model='res.partner'> <field name='ean13'>0420700000009</field> </record>
|
||||||
|
<record id='base.res_partner_8' model='res.partner'> <field name='ean13'>0420800000008</field> </record>
|
||||||
|
<record id='base.res_partner_9' model='res.partner'> <field name='ean13'>0420900000007</field> </record>
|
||||||
|
<record id='base.res_partner_10' model='res.partner'> <field name='ean13'>0421000000003</field> </record>
|
||||||
|
<record id='base.res_partner_11' model='res.partner'> <field name='ean13'>0421100000002</field> </record>
|
||||||
|
<record id='base.res_partner_12' model='res.partner'> <field name='ean13'>0421200000001</field> </record>
|
||||||
|
<record id='base.res_partner_13' model='res.partner'> <field name='ean13'>0421300000000</field> </record>
|
||||||
|
<record id='base.res_partner_14' model='res.partner'> <field name='ean13'>0421400000009</field> </record>
|
||||||
|
<record id='base.res_partner_15' model='res.partner'> <field name='ean13'>0421500000008</field> </record>
|
||||||
|
<record id='base.res_partner_16' model='res.partner'> <field name='ean13'>0421600000007</field> </record>
|
||||||
|
<record id='base.res_partner_17' model='res.partner'> <field name='ean13'>0421700000006</field> </record>
|
||||||
|
<record id='base.res_partner_18' model='res.partner'> <field name='ean13'>0421800000005</field> </record>
|
||||||
|
<record id='base.res_partner_19' model='res.partner'> <field name='ean13'>0421900000004</field> </record>
|
||||||
|
<record id='base.res_partner_20' model='res.partner'> <field name='ean13'>0422000000000</field> </record>
|
||||||
|
<record id='base.res_partner_21' model='res.partner'> <field name='ean13'>0422100000009</field> </record>
|
||||||
|
|
||||||
<!-- After installation of the module, open the related menu -->
|
<!-- After installation of the module, open the related menu -->
|
||||||
<record id="action_client_pos_menu" model="ir.actions.client">
|
<record id="action_client_pos_menu" model="ir.actions.client">
|
||||||
<field name="name">Open POS Menu</field>
|
<field name="name">Open POS Menu</field>
|
||||||
|
|
|
@ -800,12 +800,25 @@
|
||||||
#receipt-screen {
|
#receipt-screen {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
.pos-actionbar {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
.pos-sale-ticket {
|
.pos-sale-ticket {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.debug-widget{
|
.debug-widget{
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
.point-of-sale *{
|
||||||
|
text-shadow: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
.point-of-sale .pos-sale-ticket{
|
||||||
|
margin-left: auto !important;
|
||||||
|
margin-right: auto !important;
|
||||||
|
border: solid 1px black !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* d) The Scale screen */
|
/* d) The Scale screen */
|
||||||
|
|
|
@ -36,6 +36,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
||||||
'company': null,
|
'company': null,
|
||||||
'user': null, // the user that loaded the pos
|
'user': null, // the user that loaded the pos
|
||||||
'user_list': null, // list of all users
|
'user_list': null, // list of all users
|
||||||
|
'partner_list': null, // list of all partners with an ean
|
||||||
'cashier': null, // the logged cashier, if different from user
|
'cashier': null, // the logged cashier, if different from user
|
||||||
|
|
||||||
'orders': new module.OrderCollection(),
|
'orders': new module.OrderCollection(),
|
||||||
|
@ -121,6 +122,11 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
||||||
}).then(function(users){
|
}).then(function(users){
|
||||||
self.set('user_list',users);
|
self.set('user_list',users);
|
||||||
|
|
||||||
|
return self.fetch('res.partner', ['name','ean13'], [['ean13', '!=', false]]);
|
||||||
|
}).then(function(partners){
|
||||||
|
self.set('partner_list',partners);
|
||||||
|
console.log('Loaded partners:',partners);
|
||||||
|
|
||||||
return self.fetch('account.tax', ['amount', 'price_include', 'type']);
|
return self.fetch('account.tax', ['amount', 'price_include', 'type']);
|
||||||
}).then(function(taxes){
|
}).then(function(taxes){
|
||||||
self.set('taxes', taxes);
|
self.set('taxes', taxes);
|
||||||
|
@ -657,6 +663,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
||||||
get_client: function(){
|
get_client: function(){
|
||||||
return this.get('client');
|
return this.get('client');
|
||||||
},
|
},
|
||||||
|
get_client_name: function(){
|
||||||
|
var client = this.get('client');
|
||||||
|
return client ? client.name : "";
|
||||||
|
},
|
||||||
// the order also stores the screen status, as the PoS supports
|
// the order also stores the screen status, as the PoS supports
|
||||||
// different active screens per order. This method is used to
|
// different active screens per order. This method is used to
|
||||||
// store the screen status.
|
// store the screen status.
|
||||||
|
|
|
@ -198,10 +198,10 @@ function openerp_pos_screens(instance, module){ //module is instance.point_of_sa
|
||||||
// - if there's a user with a matching ean, put it as the active 'client' and return true
|
// - if there's a user with a matching ean, put it as the active 'client' and return true
|
||||||
// - else : return false.
|
// - else : return false.
|
||||||
barcode_client_action: function(ean){
|
barcode_client_action: function(ean){
|
||||||
var users = this.pos.get('user_list');
|
var partners = this.pos.get('partner_list');
|
||||||
for(var i = 0, len = users.length; i < len; i++){
|
for(var i = 0, len = partners.length; i < len; i++){
|
||||||
if(users[i].ean13 === ean.ean){
|
if(partners[i].ean13 === ean.ean){
|
||||||
this.pos.get('selectedOrder').set_client(users[i]);
|
this.pos.get('selectedOrder').set_client(partners[i]);
|
||||||
this.pos_widget.username.refresh();
|
this.pos_widget.username.refresh();
|
||||||
this.pos.proxy.scan_item_success(ean);
|
this.pos.proxy.scan_item_success(ean);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -323,10 +323,11 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
|
||||||
template:'OrderButtonWidget',
|
template:'OrderButtonWidget',
|
||||||
init: function(parent, options) {
|
init: function(parent, options) {
|
||||||
this._super(parent,options);
|
this._super(parent,options);
|
||||||
|
var self = this;
|
||||||
|
|
||||||
this.order = options.order;
|
this.order = options.order;
|
||||||
this.order.bind('destroy', _.bind( function() {
|
this.order.bind('destroy',function(){ self.destroy(); });
|
||||||
this.destroy();
|
this.order.bind('change', function(){ self.renderElement(); });
|
||||||
}, this));
|
|
||||||
this.pos.bind('change:selectedOrder', _.bind( function(pos) {
|
this.pos.bind('change:selectedOrder', _.bind( function(pos) {
|
||||||
var selectedOrder;
|
var selectedOrder;
|
||||||
selectedOrder = pos.get('selectedOrder');
|
selectedOrder = pos.get('selectedOrder');
|
||||||
|
@ -337,8 +338,8 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
|
||||||
},
|
},
|
||||||
renderElement:function(){
|
renderElement:function(){
|
||||||
this._super();
|
this._super();
|
||||||
this.$('button.select-order').click(_.bind(this.selectOrder, this));
|
this.$('button.select-order').off('click').click(_.bind(this.selectOrder, this));
|
||||||
this.$('button.close-order').click(_.bind(this.closeOrder, this));
|
this.$('button.close-order').off('click').click(_.bind(this.closeOrder, this));
|
||||||
},
|
},
|
||||||
selectOrder: function(event) {
|
selectOrder: function(event) {
|
||||||
this.pos.set({
|
this.pos.set({
|
||||||
|
@ -667,7 +668,7 @@ function openerp_pos_widgets(instance, module){ //module is instance.point_of_sa
|
||||||
template: "DebugWidget",
|
template: "DebugWidget",
|
||||||
eans:{
|
eans:{
|
||||||
admin_badge: '0410100000006',
|
admin_badge: '0410100000006',
|
||||||
client_badge: '0420100000005',
|
client_badge: '0420200000004',
|
||||||
invalid_ean: '1232456',
|
invalid_ean: '1232456',
|
||||||
soda_33cl: '5449000000996',
|
soda_33cl: '5449000000996',
|
||||||
oranges_kg: '2100002031410',
|
oranges_kg: '2100002031410',
|
||||||
|
|
|
@ -536,7 +536,7 @@
|
||||||
|
|
||||||
<t t-name="OrderButtonWidget">
|
<t t-name="OrderButtonWidget">
|
||||||
<li class="order-selector-button">
|
<li class="order-selector-button">
|
||||||
<button class="select-order"><t t-esc="widget.order.get('creationDate').toString('t')"/></button>
|
<button class="select-order"><t t-esc="(widget.order.get_client() ? widget.order.get_client_name()+' : ':'') + widget.order.get('creationDate').toString('t')"/></button>
|
||||||
</li>
|
</li>
|
||||||
</t>
|
</t>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue