23 lines
839 B
Python
23 lines
839 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
from odoo.osv import expression
|
|
|
|
class City(models.Model):
|
|
_name = 'res.city'
|
|
_description = 'City'
|
|
_order = 'name'
|
|
_rec_names_search = ['name', 'zipcode']
|
|
|
|
name = fields.Char("Name", required=True, translate=True)
|
|
zipcode = fields.Char("Zip")
|
|
country_id = fields.Many2one(comodel_name='res.country', string='Country', required=True)
|
|
state_id = fields.Many2one(comodel_name='res.country.state', string='State', domain="[('country_id', '=', country_id)]")
|
|
|
|
@api.depends('zipcode')
|
|
def _compute_display_name(self):
|
|
for city in self:
|
|
name = city.name if not city.zipcode else f'{city.name} ({city.zipcode})'
|
|
city.display_name = name
|