Files
odoo_source/addons/delivery/models/delivery_zip_prefix.py
T
Victor Feyens f4ea6d3226 [FIX] *: strict api for main orm methods
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>
2023-04-25 15:20:43 +02:00

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!"),
]