Commit 39984729 by Maria Agustina

casi terminado

1 parent 9c5dc38f
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -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!