diff --git a/addons/point_of_sale/static/src/js/db.js b/addons/point_of_sale/static/src/js/db.js index b03f4db2649..fc294afe358 100644 --- a/addons/point_of_sale/static/src/js/db.js +++ b/addons/point_of_sale/static/src/js/db.js @@ -277,10 +277,11 @@ var PosDB = core.Class.extend({ if(partner.barcode){ this.partner_by_barcode[partner.barcode] = partner; } - partner.address = (partner.street || '') +', '+ - (partner.zip || '') +' '+ - (partner.city || '') +', '+ - (partner.country_id[1] || ''); + partner.address = (partner.street ? partner.street + ', ': '') + + (partner.zip ? partner.zip + ', ': '') + + (partner.city ? partner.city + ', ': '') + + (partner.state_id ? partner.state_id[1] + ', ': '') + + (partner.country_id ? partner.country_id[1]: ''); this.partner_search_string += this._partner_search_string(partner); } } diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index a594820e031..47f17c9a641 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -181,7 +181,7 @@ exports.PosModel = Backbone.Model.extend({ }, },{ model: 'res.company', - fields: [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id' , 'country_id', 'tax_calculation_rounding_method'], + fields: [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id' , 'country_id', 'state_id', 'tax_calculation_rounding_method'], ids: function(self){ return [self.user.company_id[0]]; }, loaded: function(self,companies){ self.company = companies[0]; }, },{ @@ -215,6 +215,12 @@ exports.PosModel = Backbone.Model.extend({ self.partners = partners; self.db.add_partners(partners); }, + },{ + model: 'res.country.state', + fields: ['name', 'country_id'], + loaded: function(self,states){ + self.states = states; + }, },{ model: 'res.country', fields: ['name', 'vat_label'], diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index 3e9f97ea18a..7cd57158f22 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -1150,6 +1150,7 @@ var ClientListScreenWidget = ScreenWidget.extend({ this.$('.new-customer').click(function(){ self.display_client_details('edit',{ 'country_id': self.pos.company.country_id, + 'state_id': self.pos.company.state_id, }); }); @@ -1535,6 +1536,24 @@ var ClientListScreenWidget = ScreenWidget.extend({ }, 0); }); + contents.find('.client-address-country').on('change', function (ev) { + var $stateSelection = contents.find('.client-address-states'); + var value = this.value; + $stateSelection.empty() + $stateSelection.append($("