adjuntar.py
2.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
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
import requests, json
headers = {'Content-Type': 'application/json'}
class tpv_generar_nota(models.TransientModel):
_name = 'soporte.adjunto_wiz'
_description = 'Agregar adjunto'
incidencia = fields.Many2one(
string=u'incidencia origen',
comodel_name='hgt.soporte_incidencia',
)
file_name = fields.Char(string='Nombre', default='')
file = fields.Binary(string='Archivo')
def CargarAdjunto(self):
if self.file == None or self.file_name == "":
raise UserError("No se selecciono archivo")
vals = {
"file_name": self.file_name,
"file": self.file,
"incidencia": self.incidencia.id
}
adjunto = self.env["hgt.soporte_adjunto"].create(vals)
adjunto.GenerarCodigoArchivo()
self.PostProcesado(adjunto)
def PostProcesado(self,adjunto):
"""Luego de agregar el adjunto se debe Notificar al server externo
Via webservice"""
self.incidencia.InformarAdjuntos()
def EnviarMensajeSoporte(self):
if self.incidencia.subida == False:
raise UserError("El responsable tecnico debe notificar a HGT primero")
self.Generarmensajeinterno()
self.incidencia.AgregarTelefonoAviso()
self.mensaje.remoto = True
Url = self.incidencia.GetUrlBase()
#print(self.mensaje)
datos = {
'params': { 'token':self.incidencia.GenerarToken(),
'si_mens_fecha': self.mensaje.si_mens_fecha,
'si_mensaje': self.mensaje.si_mensaje,
'codigo': self.incidencia.si_name,
'usuario': self.env.user.display_name,
'telefonos':self.incidencia.telefonos,
}
}
datos_json = json.dumps(datos)
f = requests.post(Url+'/soporteIncidencias/soporteMensaje', data=datos_json, headers=headers)
frespuesta = f.json()
if frespuesta["result"]["estado"] != "ok":
raise UserError(str(frespuesta))
def generar_notaCred(self):
return {
'name': "Nota de Débito",
'type': 'ir.actions.act_window',
'res_model': 'asw.comprobante',
'view_mode': 'form',
'view_type': 'form',
'res_id': contra_comprobante.id,
'target': 'self',
}