product_service.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- encoding: utf-8 -*-
  2. from openerp import models, fields, api, tools
  3. from openerp.exceptions import ValidationError
  4. class ProductService(models.Model):
  5. _name = 'product.service'
  6. name=fields.Char(string='Nombre', compute='_get_product_name', store=True)
  7. model=fields.Char(string='Modelo')
  8. year=fields.Integer(string='Año')
  9. number=fields.Char(string='Número')
  10. logo = fields.Binary(string='Logo File')
  11. partner_id = fields.Many2one(
  12. 'res.partner',
  13. string='Cliente',
  14. ondelete='restrict'
  15. )
  16. description = fields.Text(string='Description')
  17. valuation = fields.Float(string='Valor')
  18. product_service_brand_id = fields.Many2one(
  19. 'product.service.brand',
  20. string='Marca'
  21. )
  22. @api.one
  23. @api.constrains('number')
  24. def _controla_numero(self):
  25. part_obj = self.env['product.service'].search([('number','=',self.number)])
  26. if len(part_obj) > 1:
  27. raise ValidationError('La numero debe ser unico')
  28. @api.one
  29. @api.depends('product_service_brand_id','model','number')
  30. def _get_product_name(self):
  31. self.name = self.product_service_brand_id.name + ' / ' + self.model + ' / ' + self.number