incidencia.py 3.17 KB
# -*- coding: utf-8 -*-
from odoo import models, fields, api
import datetime
from datetime import datetime

class hgt_soporte_incidencia(models.Model):
    _name = 'hgt.soporte_incidencia'
    _rec_name='si_numero'
    _order = "id desc"

    si_numero = fields.Char(string='Numero de ticket')

    si_fecha = fields.Datetime(
        string = 'Fecha de creación',
        default=datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    )

    si_responsable = fields.Many2one(
        string = 'Responsable',
        comodel_name = 'res.users',
        ondelete = 'set null',
        default = lambda self: self.env.user.id
    )

    si_descripcion = fields.Text(
        string=u'Descripción',
    )

    si_estado = fields.Many2one('hgt.soporte_estado', string='Estado', track_visibility='onchange', index=True,
    group_expand="_read_group_stage_ids")

    si_responsabilidad = fields.Selection(
        string=u'Responsabilidad',
        selection=[('pro', 'Propia'), ('ter', 'Tercero'), ('cli', 'Cliente'), ('cat', 'Catástrofe')]
    )
    
    si_historico_mensajes = fields.Text(string='Mensajes')

    si_texto_mensaje = fields.Char(string='Mensaje')

    si_mensajes = fields.Many2many('hgt.soporte_mensaje', string=u'Mensajes',
        relation='hgt_soporte_incidencia_mensaje_rel',
        column1='hgt_soporte_incidencia_id',
        column2='hgt_soporte_mensaje_id')

    def enviarMensaje(self):
        if (self.si_texto_mensaje == False) or (self.si_texto_mensaje == ""):
            raise UserError("No se puede enviar un mensaje vacío")
        datos = {'si_mensaje': self.si_texto_mensaje,
        'si_interno': False,
        }
        nvo_mensaje = self.env['hgt.soporte_mensaje'].create(datos)
        lista_msj = []
        for msj in self.si_mensajes:
            lista_msj.append(msj.id)
        lista_msj.append(nvo_mensaje.id)
        self.si_mensajes = lista_msj
        self.si_texto_mensaje = False

        self.registrar_mensaje(nvo_mensaje)

    def registrar_mensaje(self, mens):
        text = mens.si_mensaje
        envia = mens.si_creador
        envia = envia.name
        fecha = mens.si_mens_fecha
        text_orig = self.si_historico_mensajes
        if text_orig:
            texto_nuevo = """\n{} - {} \n\n{}\n\n ______________________________________________________\n""".format(fecha,envia,text)
            Texto = """{}\n{}""".format(texto_nuevo,text_orig)
            self.si_historico_mensajes = Texto
            return(True)
        else:
            texto_nuevo = """\n{} - {} \n\n{}\n\n ______________________________________________________\n""".format(fecha,envia,text)
            Texto = """{}""".format(texto_nuevo)
            self.si_historico_mensajes = Texto
            return(True)







    # si_url = fields.Char(string='Url de ticketera')

    # _sql_constraints = [('id_ost_uniq', 'unique (id_ost)', 'Id Ticket must be unique.')]
    # si_id_ost = fields.Integer(string='Id osticket')

    # si_ost_cliente = fields.Char(string='Ost cliente')

    # si_ost_asunto = fields.Char(string='Ost asunto')

    # si_ost_mail = fields.Char(string='Ost mail')

    # si_ost_telefeno = fields.Char(string='Ost telefono')

  

    #forma de adjuntar queda pendiente