1 function openerp_pos_membership_screens(instance
, module
){
2 module
.PartnerScreenWidget
= module
.ScreenWidget
.extend({
3 template
:'PartnerScreenWidget',
5 next_screen
: 'products',
9 init: function(parent
, options
) {
10 //console.log("[pos_membership] [PartnerScreenWidget] [init]");
11 this._super(parent
, options
);
12 this.model
= options
.model
;
13 // TODO: this.pos.bind('change:selectedOrder', this.change_selected_order, this);
16 //console.log("[pos_membership] [PartnerScreenWidget] [start]");
19 this.partner_search_widget
= new module
.PartnerSearchWidget(this,{});
20 this.partner_search_widget
.replace($('.placeholder-PartnerSearchWidget'));
22 this.partner_list_widget
= new module
.PartnerListWidget(this,{
23 click_partner_action: function(partner
){
24 self
.pos
.get('selectedOrder').addPartner(partner
);
25 self
.pos_widget
.screen_selector
.set_current_screen(self
.next_screen
);
28 this.partner_list_widget
.replace($('.placeholder-PartnerListWidget'));
31 //console.log("[pos_membership] [PartnerScreenWidget] [show]");
34 this.partner_search_widget
.renderElement();
36 if(this.pos
.iface_vkeyboard
){
37 this.pos_widget
.onscreen_keyboard
.connect();
42 this.pos_widget
.order_widget
.set_numpad_state(null);
43 this.pos_widget
.payment_screen
.set_numpad_state(null);
46 module
.ProductScreenWidget
= module
.ProductScreenWidget
.extend({
47 back_screen
: 'partner',
51 this.back_button
= this.add_action_button({
53 icon
: '/point_of_sale/static/src/img/icons/png48/go-previous.png',
55 self
.pos
.get('selectedOrder').get('orderLines').reset([]);
56 self
.pos_widget
.numpad
.state
.trigger('set_value','remove');
57 self
.pos_widget
.screen_selector
.set_current_screen(self
.back_screen
);
62 module
.PartnerCreateScreenWidget
= module
.ScreenWidget
.extend({
63 template
: 'PartnerCreateScreenWidget',
66 back_screen
: 'partner',
67 next_screen
: 'products',
68 init: function(parent
, options
) {
69 this._super(parent
, options
);
70 this.model
= options
.model
;
73 //console.log("[pos_membership] [PartnerCreateScreenWidget] [show]");
77 this.back_button
= this.add_action_button({
79 icon
: '/point_of_sale/static/src/img/icons/png48/go-previous.png',
81 self
.pos_widget
.screen_selector
.set_current_screen(self
.back_screen
);
84 this.validate_button
= this.add_action_button({
87 icon
: '/point_of_sale/static/src/img/icons/png48/validate.png',
89 self
.validatePartner();
92 this.updatePartnerCreateSummary();
98 this.pos_widget
.screen_selector
.set_current_screen(self
.back_screen
);
100 validatePartner: function() {
101 var partner
= this.pos
.get('selectedPartner');
103 this.pos
.push_partner(partner
.exportAsJSON());
104 this.pos
.get('selectedOrder').addPartner({name
:partner
.name
}); // NOTE: .id set asynchronously in .done()
105 this.pos_widget
.screen_selector
.set_current_screen(this.next_screen
);
107 renderElement: function() {
108 //console.log("[pos_membership] [PartnerCreateScreenWidget] [renderElement]");
110 this.updatePartnerCreateSummary();
112 updatePartnerCreateSummary: function() {
113 var partner
= this.pos
.get('selectedPartner');
115 //console.log("[pos_membership] [PartnerCreateScreenWidget] [updatePartnerCreateSummary] partner=",partner.get('name'));
116 this.$('#partner-create-name').html(partner
.get('name'));