pago_administracion.py
1.48 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
# -*- coding: utf-8 -*-
from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
class hgt_pago_administracion(models.TransientModel):
_name = 'hgt.pago_administracion'
registro = fields.Many2one(
string='Registro',
comodel_name='hgt.registro_cobros',
ondelete='set null',
)
caja_origen = fields.Many2one(
related='registro.caja'
)
total = fields.Float(
related = "caja_origen.total_valores"
)
caja_destino = fields.Many2one(
string='Caja Destino',
comodel_name='asw.caja',
ondelete='restrict',
)
linea_valores = fields.Many2many(
string='Valores a transferir',
comodel_name='hgt.linea_pago_admin',
relation='linea_valores_pago_rel',
column1='hgt_linea_pago_admin_id',
column2='hgt_pago_administracion_id',
)
@api.onchange('linea_valores')
def restringir_monto(self):
total = 0
for line in self.linea_valores:
total = total + line.monto
if total > self.total:
raise ValidationError('El total ingresado en las líneas de valores es mayor que el monto disponible en caja')
def pagar_admin(self):
for line in self.linea_valores:
self.env['asw.valores'].crear_valor_salida(line.monto,line.val_tipo,self.caja_origen.id)
self.env['asw.valores'].crear_valor_entrada(line.monto,line.val_tipo,self.caja_destino.id)