Commit 39984729 by Maria Agustina

casi terminado

1 parent 9c5dc38f
......@@ -11,14 +11,6 @@ class hgt_linea_tarea(models.Model):
ondelete='restrict',
)
# tarea = fields.Many2many(
# string='Tarea',
# comodel_name='hgt.tarea',
# relation='tarea_lineatarea_rel',
# column1='hgt_tarea_id',
# column2='hgt_linea_tarea_id',
# )
tarea = fields.Many2one(
string=u'Tarea',
comodel_name='hgt.tarea',
......@@ -31,14 +23,12 @@ class hgt_linea_tarea(models.Model):
store=True
)
inicio = fields.Datetime(
related='tarea.inicio',
inicio = fields.Date(
readonly=True,
store=True
)
cierre = fields.Datetime(
related='tarea.cierre',
cierre = fields.Date(
readonly=True,
store=True
)
......@@ -48,14 +38,13 @@ class hgt_linea_tarea(models.Model):
readonly=True,
store=True
)
tipo_cargo = fields.One2many(
tipo_cargo = fields.Many2one(
string='Tipo de Cargo',
comodel_name='hgt.tipo_cargo',
inverse_name='linea_tarea',
ondelete='restrict',
)
subtotal = fields.Float(
string='Subtotal',
compute='obtener_subtotal',
......@@ -67,22 +56,26 @@ class hgt_linea_tarea(models.Model):
store=True
)
@api.onchange('tipo_cargo')
def obtener_subtotal(self):
return 0
# def crear(self,usuario,desde,hasta,liquidacion):
# tareas = self.env['hgt.tarea'].search([])
# #tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario.id),('inicio', '>=', desde),('cierre', '<=', hasta)])
# for tarea in tareas.ids:
# nva_lin = self.create({
# 'tarea': tarea,
# })
# nva_lin.liquidaciones: liquidacion
for record in self:
if record.tipo_cargo:
horas = (record.minutos_reales)/60
precio = record.tipo_cargo.monto
tot= horas*precio
record.subtotal = tot
@api.onchange('inicio','cierre')
def onchange_dominio_tarea(self):
result = {}
result['domain'] = []
i = self.inicio
c = self.cierre
ids = self.env['hgt.tarea'].search([('inicio2', '>=', i),('cierre2', '<=', c)])
result['domain'] = {'tarea' : [('id', 'in', ids)]}
return result
\ No newline at end of file
# -*- coding: utf-8 -*-
from odoo import models, fields, api
from datetime import datetime
from odoo.exceptions import UserError
class hgt_liquidacionestareas(models.Model):
_name = 'hgt.liquidacionestareas'
......@@ -16,25 +18,25 @@ class hgt_liquidacionestareas(models.Model):
ondelete='restrict',
)
lineas_tareas = fields.One2many(
string='Tareas',
comodel_name='hgt.linea_tarea',
inverse_name='liquidaciones',
)
desde = fields.Datetime(
desde = fields.Date(
string='Desde',
)
hasta = fields.Datetime(
hasta = fields.Date(
string='Hasta',
)
total = fields.Float(
string='Total',
compute="obtener_total",
)
abonado = fields.Boolean(
......@@ -57,6 +59,15 @@ class hgt_liquidacionestareas(models.Model):
def crear_linea(self,liquidacion,usuario,desde,hasta):
# input1= desde
# input2= hasta
# desde1= datetime.strptime(input1, "%Y-%m-%d")
# hasta1= datetime.strptime(input2, "%Y-%m-%d")
# desde2 = desde1.strftime("%m/%d/%Y %H:%M:%S")
# hasta2 = hasta1.strftime("%m/%d/%Y %H:%M:%S")
tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario)])
#tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario),('inicio', '>=', desde.strftime('%Y-%m-%d 00:00:01')),('cierre', '<=', hasta.strftime('%Y-%m-%d 23:59:59'))])
# tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario),('inicio', '>', desde),('cierre', '<', hasta)])
......@@ -64,8 +75,40 @@ class hgt_liquidacionestareas(models.Model):
for tarea in tareas.ids:
nva_lin = self.env['hgt.linea_tarea'].create({
'tarea': tarea,
'liquidaciones':liquidacion
'liquidaciones':liquidacion,
'inicio': desde,
'cierre': hasta,
})
def obtener_total(self):
for liq in self:
tot = 0
for record in liq.lineas_tareas:
tot = tot + record.subtotal
liq.total = tot
def aprobar_liquidaciones(self):
self.estado = 'aprobado'
def abonar_liquidaciones(self):
self.estado = 'liquidado'
self.abonado = True
for tar in self.lineas_tareas:
if (tar.tarea.liquidado == False) :
tar.tarea.horas_liquidadas = tar.minutos_reales
tar.tarea.liquidado = True
else:
raise UserError('Alguna de estas tareas ya fue liquidada previamente')
def volver_borrador(self):
self.estado = 'borrador'
self.abonado = False
for tar in self.lineas_tareas:
tar.tarea.horas_liquidadas = tar.tarea.horas_liquidadas - tar.minutos_reales
tar.tarea.liquidado = False
......@@ -25,12 +25,12 @@ class hgt_masterliquidaciones(models.Model):
column2='hgt_masterliquidaciones_id',
)
desde = fields.Datetime(
desde = fields.Date(
string='Desde',
default=fields.Date.context_today,
)
hasta = fields.Datetime(
hasta = fields.Date(
string='Desde',
default=fields.Date.context_today,
)
......
......@@ -6,10 +6,10 @@ class hgt_tarea(models.Model):
_inherit = 'hgt.tarea'
horas_liquidadas = fields.Float(
string='Horas Liquidadas',
string='Minutos Liquidados',
)
liquidado = fields.Boolean(
string=u'Liquidado?',
)
\ No newline at end of file
\ No newline at end of file
......@@ -4,6 +4,7 @@ from odoo import models, fields, api
class hgt_tipo_cargo(models.Model):
_name = 'hgt.tipo_cargo'
_rec_name = 'tipo'
tipo = fields.Char(
string='Tipo',
......@@ -13,12 +14,12 @@ class hgt_tipo_cargo(models.Model):
string='Monto por hora',
)
desde = fields.Datetime(
desde = fields.Date(
string='Desde',
default=fields.Date.context_today,
)
hasta = fields.Datetime(
hasta = fields.Date(
string='Hasta',
default=fields.Date.context_today,
)
......@@ -31,10 +32,16 @@ class hgt_tipo_cargo(models.Model):
column2='hgt_tipo_cargo_id',
)
linea_tarea = fields.Many2one(
# linea_tarea = fields.Many2one(
# string='Linea de Tarea',
# comodel_name='hgt.linea_tarea',
# ondelete='restrict',
# )
linea_tarea = fields.One2many(
string='Linea de Tarea',
comodel_name='hgt.linea_tarea',
ondelete='restrict',
inverse_name='tipo_cargo',
)
......
......@@ -41,6 +41,10 @@
<form>
<header>
<button name="aprobar_liquidaciones" class='btn btn-primary' string="Aprobar" type="object" />
<button name="abonar_liquidaciones" string="Abonar" type="object" />
<button name="volver_borrador" string="Volver a Borrador" type="object" />
<field name="estado" widget="statusbar"/>
</header>
<sheet>
......@@ -59,13 +63,14 @@
<field colspan="2" name="abonado" />
</group>
<group col="4" string="Tareas">
<field nolabel="1" name="lineas_tareas">
<tree>
<field nolabel="1" widget="one2many" name="lineas_tareas">
<tree create="1" edit="1" editable="bot">
<field name="state" readonly="1" />
<field name="name" readonly="1" />
<field name="minutos_reales" sum='1' readonly="1" />
<field name="tipo_cargo" />
<field name="subtotal" sum='1' readonly="1" />
<field name="tipo_cargo" editable="1" readonly="0" />
<field name="subtotal" sum='1' readonly="1" force_save="1" />
</tree>
</field>
</group>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!