incidencia.py
3.16 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# -*- 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_name = fields.Text(
string=u'Nombre',
)
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