[FIX] base, website_sale: vietnam zip not required

Zip cannot be required if not in format address.
It will break ecommerce, because the customer cannot
validate the adress because zip code is not displayed but required.

Fix case in JS where field is not display to avoid traceback.

This commit closes #58950

closes odoo/odoo#60704

X-original-commit: 2d31892081a48c521357cef974ea23fc9228a39e
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
Jeremy Kersten
2020-10-26 09:22:28 +00:00
parent bfd018fd8c
commit 532a22667f
2 changed files with 9 additions and 4 deletions
@@ -383,10 +383,14 @@ publicWidget.registry.WebsiteSale = publicWidget.Widget.extend(VariantMixin, {
});
}
$("label[for='zip']").toggleClass('label-optional', !data.zip_required);
$("label[for='state_id']").toggleClass('label-optional', !data.state_required);
$("label[for='zip']").get(0).toggleAttribute('required', !!data.zip_required);
$("label[for='state_id']").get(0).toggleAttribute('required', !!data.state_required);
if ($("label[for='zip']").length) {
$("label[for='zip']").toggleClass('label-optional', !data.zip_required);
$("label[for='zip']").get(0).toggleAttribute('required', !!data.zip_required);
}
if ($("label[for='zip']").length) {
$("label[for='state_id']").toggleClass('label-optional', !data.state_required);
$("label[for='state_id']").get(0).toggleAttribute('required', !!data.state_required);
}
});
},
/**
@@ -1529,6 +1529,7 @@
<field name="code">vn</field>
<field name="currency_id" ref="VND" />
<field eval="84" name="phone_code" />
<field name='zip_required'>0</field>
<field eval="'%(street)s\n%(street2)s\n%(city)s\n%(state_name)s %(country_name)s'" name="address_format" />
</record>
<record id="vu" model="res.country">