transportista.py 2.8 KB
# -*- coding: utf-8 -*-
from odoo import models, fields, api, exceptions

class trans_transportista(models.Model):
    _name = 'trans.transportista'
    _description = 'Transportista'
    _rec_name = 'trans_nombre'
    _order = 'trans_nombre'
    _sql_constraints = [
        ('trans_cuit_unique', 'UNIQUE(trans_cuit)',
         'Ya existe otro transportista con el mismo CUIT, por favor reviselo y vuelva a intentarlo'),
    ]

    trans_razon_social = fields.Char(
        string=u'Razon Social',
        required=True,
    )

    trans_cuit = fields.Integer(
        string=u'CUIT',
        required=True,
    )

    trans_pagina_web = fields.Char(
        string=u'Pagina web',
        help='Ingrese su pagina web si es que posee',
    )
    
    trans_nombre = fields.Char(
        string=u'Nombre',
        required=True,
    )
    
    trans_logo = fields.Binary(
        string=u'Logo',
        help='Archivo png o jpg de menos de 2 Mb'        
    )

    trans_categoria  = fields.Selection(
        string=u'Categoria',
        selection=[('p', 'Paga'), ('np', 'No Paga')],
        compute = '',
        store = True,
        readonly=True,
    )
    
    trans_telefono = fields.Integer(
        string=u'Telefono',
        required=True,        
    )

    trans_email = fields.Char(
        string = u'Correo Electronico',
    )

    trans_tipo_ent = fields.Selection(
        string=u'Tipo de entidad',
        selection=[('emp', 'Empresa'), ('ca', 'Camionero'), ('co', 'Comisionista')],
        required = True,
    )

    trans_restriccion_elem = fields.Char(
        string=u'Elementos que no transporta',
        help='Aclarar aqui que elementos no transporta si los hubiera',
    )

    trans_tipo = fields.Many2many(
        string=u'Tipo de Transporte',
        comodel_name='trans.tipo_transporte',
        relation='tipo_transporte_transportista_rel',
        column1='trans_tipo_transporte_id',
        column2='trans_transportista_id',
    )

    # trans_pto_retiro = fields.Many2many(
    #     string=u'Punto de Retiro',
    #     comodel_name='trans.punto_retiro',
    #     relation='pto_retiro_transportista_rel',
    #     column1='trans_punto_retiro_id',
    #     column2='trans_transportista_id',
    # )

    trans_posee_ayu = fields.Boolean(
        string=u'Posee ayudantes de carga?',
    )

    trans_observ = fields.Text(
        string=u'Observaciones',
        help = u'Utilice este campo para agregar cualquier observacion que desee',
    )

    @api.one
    @api.constrains('trans_cuit', 'trans_telefono')
    def _requerir_valores(self):
        if self.trans_cuit == 0:
            raise exceptions.ValidationError('Por favor ingrese el CUIT')
        if self.trans_telefono == 0:
            raise exceptions.ValidationError('Por favor ingrese el telefono')