Enforce strict types for returned values for * create * write * unlink * default_get to make those methods more consistent and reliable. Also make sure they can be called with empty self/values, i.e. that they follow the same behavior as the base methods defined in the main orm Model. closes odoo/odoo#116809 Related: odoo/enterprise#38880 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
30 lines
948 B
Python
30 lines
948 B
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class DeliveryZipPrefix(models.Model):
|
|
""" Zip prefix that a delivery.carrier will deliver to. """
|
|
_name = 'delivery.zip.prefix'
|
|
_description = 'Delivery Zip Prefix'
|
|
_order = 'name, id'
|
|
|
|
name = fields.Char('Prefix', required=True)
|
|
|
|
@api.model_create_multi
|
|
def create(self, vals_list):
|
|
for vals in vals_list:
|
|
# we cannot easily convert a list of prefix names into upper to compare with partner zips
|
|
# later on, so let's ensure they are always upper
|
|
vals['name'] = vals['name'].upper()
|
|
return super().create(vals_list)
|
|
|
|
def write(self, vals):
|
|
if 'name' in vals:
|
|
vals['name'] = vals['name'].upper()
|
|
return super().write(vals)
|
|
|
|
_sql_constraints = [
|
|
('name_uniq', 'unique (name)', "Prefix already exists!"),
|
|
]
|