27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
# -*- coding:utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
from odoo.addons.website_sale.controllers.main import WebsiteSale
|
|
from odoo.http import request
|
|
from odoo.exceptions import UserError
|
|
from odoo import _
|
|
|
|
class ItalyWebsiteSaleForm(WebsiteSale):
|
|
def checkout_form_validate(self, mode, all_form_values, data):
|
|
error, error_message = super().checkout_form_validate(mode, all_form_values, data)
|
|
Partner = request.env['res.partner']
|
|
if data.get('l10n_it_codice_fiscale'):
|
|
partner_dummy = Partner.new({
|
|
'l10n_it_codice_fiscale': data.get('l10n_it_codice_fiscale')
|
|
})
|
|
try:
|
|
partner_dummy.validate_codice_fiscale()
|
|
except UserError as e:
|
|
error['l10n_it_codice_fiscale'] = 'error'
|
|
error_message.append(e.name)
|
|
pa_index = data.get('l10n_it_pa_index')
|
|
if pa_index:
|
|
if len(pa_index) < 6 or len(pa_index) > 7:
|
|
error['l10n_it_pa_index'] = 'error'
|
|
error_message.append(_('Destination Code (SDI) must have between 6 and 7 characters'))
|
|
return error, error_message
|