Commit 39984729 by Maria Agustina

casi terminado

1 parent 9c5dc38f
...@@ -11,14 +11,6 @@ class hgt_linea_tarea(models.Model): ...@@ -11,14 +11,6 @@ class hgt_linea_tarea(models.Model):
ondelete='restrict', 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( tarea = fields.Many2one(
string=u'Tarea', string=u'Tarea',
comodel_name='hgt.tarea', comodel_name='hgt.tarea',
...@@ -31,14 +23,12 @@ class hgt_linea_tarea(models.Model): ...@@ -31,14 +23,12 @@ class hgt_linea_tarea(models.Model):
store=True store=True
) )
inicio = fields.Datetime( inicio = fields.Date(
related='tarea.inicio',
readonly=True, readonly=True,
store=True store=True
) )
cierre = fields.Datetime( cierre = fields.Date(
related='tarea.cierre',
readonly=True, readonly=True,
store=True store=True
) )
...@@ -48,14 +38,13 @@ class hgt_linea_tarea(models.Model): ...@@ -48,14 +38,13 @@ class hgt_linea_tarea(models.Model):
readonly=True, readonly=True,
store=True store=True
) )
tipo_cargo = fields.Many2one(
tipo_cargo = fields.One2many(
string='Tipo de Cargo', string='Tipo de Cargo',
comodel_name='hgt.tipo_cargo', comodel_name='hgt.tipo_cargo',
inverse_name='linea_tarea', ondelete='restrict',
) )
subtotal = fields.Float( subtotal = fields.Float(
string='Subtotal', string='Subtotal',
compute='obtener_subtotal', compute='obtener_subtotal',
...@@ -67,22 +56,26 @@ class hgt_linea_tarea(models.Model): ...@@ -67,22 +56,26 @@ class hgt_linea_tarea(models.Model):
store=True store=True
) )
@api.onchange('tipo_cargo')
def obtener_subtotal(self): def obtener_subtotal(self):
return 0 for record in self:
if record.tipo_cargo:
# def crear(self,usuario,desde,hasta,liquidacion): horas = (record.minutos_reales)/60
# tareas = self.env['hgt.tarea'].search([]) precio = record.tipo_cargo.monto
# #tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario.id),('inicio', '>=', desde),('cierre', '<=', hasta)]) tot= horas*precio
record.subtotal = tot
# for tarea in tareas.ids:
@api.onchange('inicio','cierre')
# nva_lin = self.create({ def onchange_dominio_tarea(self):
# 'tarea': tarea, result = {}
# }) result['domain'] = []
i = self.inicio
# nva_lin.liquidaciones: liquidacion 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 \ No newline at end of file
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from odoo import models, fields, api from odoo import models, fields, api
from datetime import datetime
from odoo.exceptions import UserError
class hgt_liquidacionestareas(models.Model): class hgt_liquidacionestareas(models.Model):
_name = 'hgt.liquidacionestareas' _name = 'hgt.liquidacionestareas'
...@@ -16,25 +18,25 @@ class hgt_liquidacionestareas(models.Model): ...@@ -16,25 +18,25 @@ class hgt_liquidacionestareas(models.Model):
ondelete='restrict', ondelete='restrict',
) )
lineas_tareas = fields.One2many( lineas_tareas = fields.One2many(
string='Tareas', string='Tareas',
comodel_name='hgt.linea_tarea', comodel_name='hgt.linea_tarea',
inverse_name='liquidaciones', inverse_name='liquidaciones',
) )
desde = fields.Datetime( desde = fields.Date(
string='Desde', string='Desde',
) )
hasta = fields.Datetime( hasta = fields.Date(
string='Hasta', string='Hasta',
) )
total = fields.Float( total = fields.Float(
string='Total', string='Total',
compute="obtener_total",
) )
abonado = fields.Boolean( abonado = fields.Boolean(
...@@ -57,6 +59,15 @@ class hgt_liquidacionestareas(models.Model): ...@@ -57,6 +59,15 @@ class hgt_liquidacionestareas(models.Model):
def crear_linea(self,liquidacion,usuario,desde,hasta): 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)])
#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.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)]) # tareas = self.env['hgt.tarea'].search([('ejecutor','=',usuario),('inicio', '>', desde),('cierre', '<', hasta)])
...@@ -64,8 +75,40 @@ class hgt_liquidacionestareas(models.Model): ...@@ -64,8 +75,40 @@ class hgt_liquidacionestareas(models.Model):
for tarea in tareas.ids: for tarea in tareas.ids:
nva_lin = self.env['hgt.linea_tarea'].create({ nva_lin = self.env['hgt.linea_tarea'].create({
'tarea': tarea, '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): ...@@ -25,12 +25,12 @@ class hgt_masterliquidaciones(models.Model):
column2='hgt_masterliquidaciones_id', column2='hgt_masterliquidaciones_id',
) )
desde = fields.Datetime( desde = fields.Date(
string='Desde', string='Desde',
default=fields.Date.context_today, default=fields.Date.context_today,
) )
hasta = fields.Datetime( hasta = fields.Date(
string='Desde', string='Desde',
default=fields.Date.context_today, default=fields.Date.context_today,
) )
......
...@@ -6,10 +6,10 @@ class hgt_tarea(models.Model): ...@@ -6,10 +6,10 @@ class hgt_tarea(models.Model):
_inherit = 'hgt.tarea' _inherit = 'hgt.tarea'
horas_liquidadas = fields.Float( horas_liquidadas = fields.Float(
string='Horas Liquidadas', string='Minutos Liquidados',
) )
liquidado = fields.Boolean( liquidado = fields.Boolean(
string=u'Liquidado?', string=u'Liquidado?',
) )
\ No newline at end of file \ No newline at end of file
\ No newline at end of file \ No newline at end of file
...@@ -4,6 +4,7 @@ from odoo import models, fields, api ...@@ -4,6 +4,7 @@ from odoo import models, fields, api
class hgt_tipo_cargo(models.Model): class hgt_tipo_cargo(models.Model):
_name = 'hgt.tipo_cargo' _name = 'hgt.tipo_cargo'
_rec_name = 'tipo'
tipo = fields.Char( tipo = fields.Char(
string='Tipo', string='Tipo',
...@@ -13,12 +14,12 @@ class hgt_tipo_cargo(models.Model): ...@@ -13,12 +14,12 @@ class hgt_tipo_cargo(models.Model):
string='Monto por hora', string='Monto por hora',
) )
desde = fields.Datetime( desde = fields.Date(
string='Desde', string='Desde',
default=fields.Date.context_today, default=fields.Date.context_today,
) )
hasta = fields.Datetime( hasta = fields.Date(
string='Hasta', string='Hasta',
default=fields.Date.context_today, default=fields.Date.context_today,
) )
...@@ -31,10 +32,16 @@ class hgt_tipo_cargo(models.Model): ...@@ -31,10 +32,16 @@ class hgt_tipo_cargo(models.Model):
column2='hgt_tipo_cargo_id', 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', string='Linea de Tarea',
comodel_name='hgt.linea_tarea', comodel_name='hgt.linea_tarea',
ondelete='restrict', inverse_name='tipo_cargo',
) )
......
...@@ -41,6 +41,10 @@ ...@@ -41,6 +41,10 @@
<form> <form>
<header> <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"/> <field name="estado" widget="statusbar"/>
</header> </header>
<sheet> <sheet>
...@@ -59,13 +63,14 @@ ...@@ -59,13 +63,14 @@
<field colspan="2" name="abonado" /> <field colspan="2" name="abonado" />
</group> </group>
<group col="4" string="Tareas"> <group col="4" string="Tareas">
<field nolabel="1" name="lineas_tareas"> <field nolabel="1" widget="one2many" name="lineas_tareas">
<tree>
<tree create="1" edit="1" editable="bot">
<field name="state" readonly="1" /> <field name="state" readonly="1" />
<field name="name" readonly="1" /> <field name="name" readonly="1" />
<field name="minutos_reales" sum='1' readonly="1" /> <field name="minutos_reales" sum='1' readonly="1" />
<field name="tipo_cargo" /> <field name="tipo_cargo" editable="1" readonly="0" />
<field name="subtotal" sum='1' readonly="1" /> <field name="subtotal" sum='1' readonly="1" force_save="1" />
</tree> </tree>
</field> </field>
</group> </group>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!