controllers.py 2.05 KB
from requests.sessions import session
from odoo import http

TOKEN ="""sdfghjkjhgfds2568uyhgfds657875645324ghgjhfgdfsgdfghjk65"""

class controlador_soporte_incidencias(http.Controller):

    @http.route('/soporteIncidencias/crear', auth='public', type='json' , website=False ,csrf=False, methods = ['POST','GET'])
    def index(self, **kw):
        if not kw["token"] == TOKEN:
            return({"resultado":"ALERTA DE SEGURIDAD error autenticacion"})

        inci_model = http.request.env["hgt.soporte_incidencia"].sudo()

        if ("si_cerrada" in kw) and (kw["si_cerrada"] == True): 
            self.cerrar_incidencia(inci_model, kw)
            return (True)
        else:
            incidencia = inci_model.search([('id', '=', kw["id_original"] )])
            if incidencia: 
                if ("modificacion" in kw) and (kw["modificacion"] == True):
                    self.modificar_incidencia(incidencia, kw)
                    return (incidencia.id)
                else: 
                    return (incidencia.id)
            else:
                nva_incidencia = self.crearIncidencia2(inci_model, kw)
                #print("en soporte se creo una nueva incidencia q es id y si id in: " + nva_incidencia.id + nva_incidencia.si_id_in)
                return(nva_incidencia.id)    
    
    def crearIncidencia2(self, model, kw):
        nva_inci = model.create({
            'si_fecha': kw['si_fecha'],
            'si_name': kw['name'],
            'si_descripcion': kw['descripcion'],
            'si_responsabilidad': kw["responsabilidad"],
            'subida': True,
        })
        return(nva_inci)

    def cerrar_incidencia(self, model,kw):
        inci_a_cerrar = model.search([('id', '=', kw["id_incide_original"] )])
        inci_a_cerrar.si_cerrada = True

    def modificar_incidencia(self, incidencia, kw):
        if ("estado" in kw) and (not kw["estado"] == ""):
            incidencia.si_estado = kw["estado"]
        if ("responsabilidad" in kw) and (not kw["responsabilidad"] == ""):
            incidencia.si_responsabilidad = kw["responsabilidad"]