diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 123acb65293..29caf458371 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -555,8 +555,10 @@ class WebsiteSale(http.Controller): country = request.env['res.country'] if data.get('country_id'): country = country.browse(int(data.get('country_id'))) - if 'state_code' in country.get_address_fields() and country.state_ids: + if country.state_required: required_fields += ['state_id'] + if country.zip_required: + required_fields += ['zip'] # error message for empty required fields for field_name in required_fields: @@ -1118,7 +1120,9 @@ class WebsiteSale(http.Controller): return dict( fields=country.get_address_fields(), states=[(st.id, st.name, st.code) for st in country.get_website_sale_states(mode=mode)], - phone_code=country.phone_code + phone_code=country.phone_code, + zip_required=country.zip_required, + state_required=country.state_required, ) # -------------------------------------------------------------------------- diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index bae366ac69a..65fa4537a1c 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -347,13 +347,13 @@ publicWidget.registry.WebsiteSale = publicWidget.Widget.extend(VariantMixin, { }, }).then(function (data) { // placeholder phone_code - //$("input[name='phone']").attr('placeholder', data.phone_code !== 0 ? '+'+ data.phone_code : ''); + $("input[name='phone']").attr('placeholder', data.phone_code !== 0 ? '+'+ data.phone_code : ''); // populate states and display var selectStates = $("select[name='state_id']"); // dont reload state at first loading (done in qweb) if (selectStates.data('init')===0 || selectStates.find('option').length===1) { - if (data.states.length) { + if (data.states.length || data.state_required) { selectStates.html(''); _.each(data.states, function (x) { var opt = $('