# -*- coding: utf-8 -*- from odoo import models, fields, api class SkeenSucursal(models.Model): """Sucursal de la clínica. Antes las sucursales eran un Selection fijo ('rosarito', 'tijuana') hardcodeado en skeen.cita. Ahora son datos: el `code` es el valor que se guarda en las citas, por eso las sucursales semilla conservan los códigos actuales y las citas históricas no se tocan. """ _name = 'skeen.sucursal' _description = 'Sucursal de la clínica' _order = 'sequence, name' name = fields.Char(string='Nombre', required=True, translate=True) code = fields.Char(string='Código', required=True, copy=False, help='Identificador estable que se guarda en las citas.') sequence = fields.Integer(string='Secuencia', default=10) active = fields.Boolean(string='Activa', default=True) is_default = fields.Boolean(string='Predeterminada', default=False) address = fields.Char(string='Dirección') phone = fields.Char(string='Teléfono') notes = fields.Text(string='Notas') _sql_constraints = [ ('unique_code', 'unique(code)', 'El código de la sucursal debe ser único!') ] @api.model def default_code(self): """Código de la sucursal predeterminada (o la primera); 'rosarito' si no hay.""" sucursal = self.search([('is_default', '=', True)], limit=1) if not sucursal: sucursal = self.search([], limit=1) return sucursal.code or 'rosarito'