split.py 2.4 KB
# -*- coding: utf-8 -*-

from odoo import models, fields, api

class hgt_incidencias_temas_split(models.TransientModel):
    _name = "hgt.incidencias_temas_split"

    split_incidencia = fields.Many2one('hgt.incidencias',
        string='Incidencias')

    split_name = fields.Char(
        string=u'Nombre',
        related="split_incidencia.name"
    )

    split_descripcion = fields.Text(
        string=u'Descripción',
        related="split_incidencia.descripcion"
    )

    split_responsabilidad = fields.Selection(
        string=u'Responsabilidad',
        related="split_incidencia.responsabilidad"
    )

    split_cliente = fields.Many2one(
        string='Cliente',
        related="split_incidencia.cliente"
    )

    split_incidenciastd = fields.One2many(
        string='Nuevas incidencias',
        comodel_name='hgt.split_tema_descr',
        inverse_name='rel_split'
    )

    def splitIncidencia(self):
        #metodo que crea incidencias a partir de las descripciones aportadas x usuario y las reune en un mismo tema
        titulo_tema = "Split - "+ self.split_name
        descrip_tema = "Tema que reune la división en incidencias de la incidencia original " + self.split_name
        datos_tema = {'t_titulo': titulo_tema, 't_descripcion': descrip_tema}
        nvo_tema = self.env['hgt.incidencias_temas'].create(datos_tema)
        texto = "TICKET CERRADO - SEPARADO EN: "
        for inc in self.split_incidenciastd:
            nombre = inc.splittd_nom
            descripcion = inc.splittd_descr
            tema = nvo_tema
            datos = {'name': nombre,
            'descripcion': descripcion, 
            'responsabilidad': self.split_responsabilidad,
            'cliente': self.split_cliente.id,
            'url_cliente': self.split_incidencia.url_cliente,
            }
            nva_inci = self.env['hgt.incidencias'].create(datos)        
            nvo_tema.t_incidencias = (4, nva_inci.id)

            #creacion de las mismas incidencias en soporte p q el cliente las vea
            nva_inci.enviarIncidencia()

            texto += " -"+nombre
        self.cerrarIncidencia(texto)

    def cerrarIncidencia(self, texto):
        self.split_incidencia.in_texto_mensaje = texto
        self.split_incidencia.enviarMensaje_in()
        self.split_incidencia.in_texto_mensaje = ""
        self.split_incidencia.in_cerrada = True
        self.split_incidencia.cerrarIncidencia()
        return "Exito"