compra_solicitudpresupuesto.py
2.31 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
80
81
82
83
84
85
86
87
88
from odoo import models, fields, api
from odoo.exceptions import UserError
class hgt_compra_solicitudpresupuesto(models.Model):
_name='hgt.compra_solicitudpresupuesto'
_order = 'id asc'
csp_solicitante = fields.Many2one(
string =u'Solicitante',
comodel_name ='res.users',
)
csp_proovedorp= fields.Many2one (
string =u'Proovedor',
comodel_name ='hgt.instituciones',
)
csp_solicitudlinea = fields.Many2many(
string=u'A presupuestar',
comodel_name='hgt.compra_solicitudlinea',
relation='presupuesto_lineasolicitud',
column1='hgt_compra_solicitudlinea_id',
column2='hgt_compra_solicitudpresupuesto_id',
)
csp_adjuntos = fields.Many2many(
'asw.adjuntos',
string='Archivos Adjuntos'
)
csp_estados = fields.Selection(
string = 'Estado',
selection = [
('pe', 'Pendiente'),
('e', 'Enviado al Proovedor'),
('a', 'Presupuesto Aprobado'),
('r', 'Presupuesto Rechazado'),
],
store = True,
default= 'pe',
readonly = True,
)
csp_orden_generada = fields.Boolean(
string="Orden generada?",
default=False,
)
csp_notas = fields.Text(
string="Notas",
)
def enviar_pdf(self):
#PDF
obj = self.env.ref('hgt_compras.solicitud_presupuesto_proovedor').report_action(self)
self.csp_estados = 'e'
return obj
def chequear_ajuntos(self):
if not self.csp_adjuntos:
raise UserError("Debe haber algún presupuesto cargado en adjuntos para poder aceptarlo o rechazarlo")
def aceptar_presup(self):
self.chequear_ajuntos()
self.csp_estados = 'a'
def rechazar_presup(self):
self.chequear_ajuntos()
self.csp_estados = 'r'
def generar_sc(self):
lista = []
datos = {'cor_comprador': self.csp_solicitante.id,
'cor_sp': self.id}
nva_orden = self.env['hgt.compra_orden'].create(datos)
for lin in self.csp_solicitudlinea:
lista.append(lin.id)
nva_orden.cor_linea_solicitud = lista
self.csp_orden_generada = True
return (True)
def orden_rechazada(self):
self.csp_orden_generada = False
return (True)