lineatarea.py 1.43 KB
# -*- coding: utf-8 -*-

from odoo import models, fields, api

class hgt_linea_tarea(models.Model):
    _name = 'hgt.linea_tarea'

    liquidaciones = fields.Many2one(
        string='Liquidaciones',
        comodel_name='hgt.liquidacionestareas',
        ondelete='restrict',
    )
    
    tarea = fields.Many2one(
        string=u'Tarea',
        comodel_name='hgt.tarea',
        ondelete='set null',
    )

    name = fields.Char(
        related='tarea.name',
        readonly=True,
        store=True
    )
    
    inicio = fields.Date(
        readonly=True,
        store=True
    )

    cierre = fields.Date(
        readonly=True,
        store=True
    )

    minutos_reales = fields.Integer(
        related='tarea.minutos_reales',
        readonly=True,
        store=True
    )
   
    tipo_cargo = fields.Many2one(
        string='Tipo de Cargo',
        comodel_name='hgt.tipo_cargo',
        ondelete='restrict',
    )
    
    subtotal = fields.Float(
        string='Subtotal',
        compute='obtener_subtotal',
    )

    state = fields.Selection(
        related='tarea.state',
        readonly=True,
        store=True
    )

    @api.onchange('tipo_cargo')
    def obtener_subtotal(self):
        for record in self:
            if record.tipo_cargo:
                horas = (record.minutos_reales)/60
                precio = record.tipo_cargo.monto
                tot= horas*precio 
                record.subtotal = tot