add constrain a serial unique

This commit is contained in:
sinergia 2022-06-30 17:46:13 -05:00
parent a9876fada4
commit b432c75314
3 changed files with 14 additions and 2 deletions

View File

@ -1,6 +1,6 @@
from collections import defaultdict from collections import defaultdict
from trytond.pool import Pool from trytond.pool import Pool
from trytond.model import ModelSQL, ModelView, fields from trytond.model import ModelSQL, ModelView, Unique, fields
from trytond.exceptions import UserError from trytond.exceptions import UserError
class OpticalEquipment(ModelSQL, ModelView): class OpticalEquipment(ModelSQL, ModelView):
@ -36,3 +36,12 @@ class OpticalEquipment(ModelSQL, ModelView):
@staticmethod @staticmethod
def get_origin(): def get_origin():
return None return None
@classmethod
def __setup__(cls):
super(OpticalEquipment, cls).__setup__()
t = cls.__table__()
cls._sql_constraints = [
('serial_unique', Unique(t, t.serial),
'optical_equipment.msg_serial_unique')
]

View File

@ -8,5 +8,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.message" id="msg_invalid_number_purchases"> <record model="ir.message" id="msg_invalid_number_purchases">
<field name="text">Please, select only one purchase.</field> <field name="text">Please, select only one purchase.</field>
</record> </record>
<record model="ir.message" id="msg_serial_unique">
<field name="text">The serial number of equipment, should be unique.</field>
</record>
</data> </data>
</tryton> </tryton>

View File

@ -37,7 +37,7 @@ class Purchase(metaclass=PoolMeta):
company=line.company, company=line.company,
location=line.to_location, location=line.to_location,
equipment_type=line.product.equipment_type, equipment_type=line.product.equipment_type,
propietary=line.company, propietary=line.company.party,
propietary_address=line.address_equipment, propietary_address=line.address_equipment,
product=line.product, product=line.product,
model_category=line.product.model_category, model_category=line.product.model_category,