salones.py 1.61 KB
# -*- coding: utf-8 -*-

from odoo import models, fields, api, exceptions
import re


class hgt_salones(models.Model):
    _name = 'hgt.salones'
    _rec_name = 'nombre'

    nombre = fields.Char(
        string="Nombre",
    )

    #hacer metodo para chequear que sea de 5 lttas 
    codigo = fields.Char(
        string=u"Código",
        help=u"Inserte un código de 5 letras",
        required=True,
    )
    
    mesas = fields.One2many(
        string=u'Mesas del Salón',
        comodel_name='hgt.mesas',
        inverse_name='salon',
    )

    def valido_letra(self,string):
        match = re.match(r'^[A-Za-z ]*$', string)
        if match:
            return True
        else:
            return False 

    @api.model 
    def create(self,values):
        if 'codigo' in values and len(values['codigo']) != 5:
            raise exceptions.ValidationError("El código debe contar con 5 letras")
        elif 'codigo' in values and self.valido_letra(values['codigo']) == False:
            raise exceptions.ValidationError("El código debe contar con 5 letras, no números u otro caracter")
        result=super(hgt_salones,self).create(values)
        return result

    @api.model 
    def write(self,values):
        if 'codigo' in values and len(values['codigo']) != 5:
            raise exceptions.ValidationError("El código debe contar con 5 letras")
        elif 'codigo' in values and self.valido_letra(values['codigo']) == False:
            raise exceptions.ValidationError("El código debe contar con 5 letras, no números u otro caracter")
        result=super(hgt_salones,self).write(values)
        return result