generarmensaje.py 2 KB
# -*- 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.mensaje_wiz'
    _description = 'Generar Nota' 

    incidencia = fields.Many2one(
        string=u'incidencia origen',
        comodel_name='hgt.soporte_incidencia',
    )

    texto = fields.Text(string='Mensaje')

    def Generarmensajeinterno(self):
        if self.texto == False:
            raise UserError("No puso ningun mensaje")
        mensaje = self.env["hgt.soporte_mensaje"].create({})
        mensaje.si_incidencias = [self.incidencia.id]
        mensaje.si_mensaje = self.texto
        self.mensaje = mensaje

    def EnviarMensajeSoporte(self):
        if self.incidencia.subida == False:
            raise UserError("El responsable tecnico debe notificar a HGT primero")
        self.Generarmensajeinterno()
        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,
            }
        }
        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',
        }