salones.py
1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# -*- 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