master.py
2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# -*- coding: utf-8 -*-
from odoo import models, fields, api
from odoo.exceptions import UserError
from datetime import datetime
class hgt_masterliquidaciones(models.Model):
_name = 'hgt.masterliquidaciones'
titulo = fields.Char(
string=u'Título',
)
ejecutores = fields.Many2many(
string='Ejecutores',
comodel_name='res.users',
relation='user_masterliquidaciones_rel',
column1='res_users_id',
column2='hgt_masterliquidaciones_id',
)
liquidaciones = fields.Many2many(
string='Liquidaciones',
comodel_name='hgt.liquidacionestareas',
relation='liquidaciones_masterliquidaciones_rel',
column1='hgt_liquidacionestareas_id',
column2='hgt_masterliquidaciones_id',
)
desde = fields.Date(
string='Desde',
default=fields.Date.context_today,
)
hasta = fields.Date(
string='Hasta',
default=fields.Date.context_today,
)
mt_texto = fields.Char(
string='Seguimiento',
default=''
)
mt_notitas = fields.Text(
string='Seguimiento',
default=''
)
def CargarNotas(self):
if (self.mt_texto == "") or (self.mt_texto == False):
return(True)
Texto = """{} - {}: {} \n{}""".format(self.env.user.display_name,
datetime.now().strftime('%Y-%m-%d %H:%M'),
self.mt_texto, self.mt_notitas)
self.mt_notitas = Texto
self.mt_texto = ""
return(True)
def generar_liquidaciones(self):
for ejecutor in self.ejecutores:
datos = {
'usuario': ejecutor.id,
'desde': self.desde,
'hasta': self.hasta,
'estado': 'borrador',
}
nva_liq = self.env['hgt.liquidacionestareas'].create(datos)
self.liquidaciones = [(4,nva_liq.id)]
if self.liquidaciones.crear_linea(nva_liq.id,ejecutor.id,self.desde,self.hasta) == 0:
raise UserError('No hay tareas que liquidar en el período de tiempo seleccionado')