Commit d18cd6f6 by Maria Agustina

avance 809

1 parent 3246a45a
......@@ -31,6 +31,7 @@
'security/permisos.xml',
'security/ir.model.access.csv',
'views/incidencias.xml',
'views/mensajes.xml',
'views/configuracion.xml',
'views/menu.xml',
......
......@@ -5,3 +5,4 @@ from . import reporte
from . import cliente
from . import estados
from . import configuracion
from . import mensajes
\ No newline at end of file
No preview for this file type
......@@ -2,6 +2,7 @@
from odoo.exceptions import UserError
from odoo import models, fields, api
import requests
class hgt_incidencias(models.Model):
_name = 'hgt.incidencias'
_order = "id desc"
......@@ -28,22 +29,6 @@ class hgt_incidencias(models.Model):
string=u'Descripción',
)
url = fields.Char(string='Url de ticketera')
numero = fields.Char(string='Numero de ticket')
_sql_constraints = [('id_ost_uniq', 'unique (id_ost)', 'Id Ticket must be unique.')]
id_ost = fields.Integer(string='Id osticket')
ost_cliente = fields.Char(string='Ost cliente')
ost_asunto = fields.Char(string='Ost asunto')
ost_mail = fields.Char(string='Ost mail')
ost_telefeno = fields.Char(string='Ost telefono')
ost_mensaje = fields.Text(string='Mensajes')
fecha_creacion = fields.Date(
string=u'Fecha de creación',
......@@ -68,7 +53,6 @@ class hgt_incidencias(models.Model):
string='Tareas derivadas',
)
proyecto = fields.Many2one(
string='Proyecto',
comodel_name='hgt.proyecto',
......@@ -89,6 +73,52 @@ class hgt_incidencias(models.Model):
tiempo_carga = fields.Integer(string='Tiempo utilizado', default=30)
in_numero = fields.Char(string='Numero de ticket')
in_historico_mensajes = fields.Text(string='Mensajes')
in_texto_mensaje = fields.Char(string='Mensaje')
in_mensajes = fields.Many2many('hgt.incidencias_mensaje', string=u'Mensajes',
relation='hgt_incidencia_mensaje_rel',
column1='hgt_incidencias_id',
column2='hgt_incidencias_mensaje_id')
def enviarMensaje_in(self):
if (self.in_texto_mensaje == False) or (self.in_texto_mensaje == ""):
raise UserError("No se puede enviar un mensaje vacío")
datos = {'in_mensaje': self.in_texto_mensaje,
'in_interno': False,
}
nvo_mensaje = self.env['hgt.incidencias_mensaje'].create(datos)
lista_msj = []
for msj in self.in_mensajes:
lista_msj.append(msj.id)
lista_msj.append(nvo_mensaje.id)
self.in_mensajes = lista_msj
self.in_texto_mensaje = False
self.registrar_mensaje(nvo_mensaje)
def registrar_mensaje(self, mens):
text = mens.in_mensaje
envia = mens.in_creador
envia = envia.name
fecha = mens.in_mens_fecha
text_orig = self.in_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.in_historico_mensajes = Texto
return(True)
else:
texto_nuevo = """\n{} - {} \n\n{}\n\n ______________________________________________________\n""".format(fecha,envia,text)
Texto = """{}""".format(texto_nuevo)
self.in_historico_mensajes = Texto
return(True)
def generar_tareas(self):
#import ipdb; ipdb.set_trace()
if (len(self.asignador) == 0):
......@@ -121,52 +151,68 @@ class hgt_incidencias(models.Model):
result['domain'] = {'accion' : [('id', 'in', ids)]}
return result
url = fields.Char(string='Url de ticketera')
@api.model
def create(self, vals):
dom =[]
config = self.env['hgt.coniguracion_incidencias'].search([["habilitado", "=", True]])
try:
datos = {'resumen':'Incidencia OST {} {}'.format(vals['numero'], vals['ost_asunto']),
'descripcion': vals['descripcion'],
'ejecutor':config.dispacher.id,
'origen':"Incidentes",}
if config.url_ost == True:
datos['notitas'] = vals['url']
if (vals['numero'] == False) or (vals['numero'] == ""):
raise()
except:
num = self.search_count([]) + 1
#num = 1
datos = {'resumen':'Incidencia local {} '.format(num),'origen':"Incidentes",'ejecutor':config.dispacher.id}
vals['numero'] = "INC {}".format(num)
print(datos)
nueva_tar = self.env['hgt.tarea'].create(datos)
try:
if vals['accion']:
accion = vals['accion']
acc = self.env['hgt.acciones'].search([('id','=',accion)])
acc.tareas = [(4,nueva_tar.id)]
except:
pass
vals['tarea'] = nueva_tar.id
result = super(hgt_incidencias, self).create(vals)
return result
numero = fields.Char(string='Numero de ticket')
_sql_constraints = [('id_ost_uniq', 'unique (id_ost)', 'Id Ticket must be unique.')]
id_ost = fields.Integer(string='Id osticket')
def mensajes_ost(self, val):
#print(val[0])
dom = [["numero", "=", val[0]]]
ins = self.env['hgt.incidencias'].search(dom, limit=1)
if len(ins) == 0:
#print("no esta en sistemma")
return(True)
text_orig = ins.ost_mensaje
texto_nuevo = """\n{} {} {} \n{}\n\n#######################################################\n""".format(val[1],val[2],val[4],val[3])
Texto = """{}\n{}""".format(text_orig,texto_nuevo)
#print(Texto)
ins.ost_mensaje = Texto
return(True)
ost_cliente = fields.Char(string='Ost cliente')
ost_asunto = fields.Char(string='Ost asunto')
ost_mail = fields.Char(string='Ost mail')
ost_telefeno = fields.Char(string='Ost telefono')
ost_mensaje = fields.Text(string='Mensajes')
# @api.model
# def create(self, vals):
# dom =[]
# config = self.env['hgt.coniguracion_incidencias'].search([["habilitado", "=", True]])
# try:
# datos = {'resumen':'Incidencia OST {} {}'.format(vals['numero'], vals['ost_asunto']),
# 'descripcion': vals['descripcion'],
# 'ejecutor':config.dispacher.id,
# 'origen':"Incidentes",}
# if config.url_ost == True:
# datos['notitas'] = vals['url']
# if (vals['numero'] == False) or (vals['numero'] == ""):
# raise()
# except:
# num = self.search_count([]) + 1
# #num = 1
# datos = {'resumen':'Incidencia local {} '.format(num),'origen':"Incidentes",'ejecutor':config.dispacher.id}
# vals['numero'] = "INC {}".format(num)
# print(datos)
# nueva_tar = self.env['hgt.tarea'].create(datos)
# try:
# if vals['accion']:
# accion = vals['accion']
# acc = self.env['hgt.acciones'].search([('id','=',accion)])
# acc.tareas = [(4,nueva_tar.id)]
# except:
# pass
# vals['tarea'] = nueva_tar.id
# result = super(hgt_incidencias, self).create(vals)
# return result
# def mensajes_ost(self, val):
# #print(val[0])
# dom = [["numero", "=", val[0]]]
# ins = self.env['hgt.incidencias'].search(dom, limit=1)
# if len(ins) == 0:
# #print("no esta en sistemma")
# return(True)
# text_orig = ins.ost_mensaje
# texto_nuevo = """\n{} {} {} \n{}\n\n#######################################################\n""".format(val[1],val[2],val[4],val[3])
# Texto = """{}\n{}""".format(text_orig,texto_nuevo)
# #print(Texto)
# ins.ost_mensaje = Texto
# return(True)
......
# -*- coding: utf-8 -*-
from odoo import models, fields, api
import datetime
from datetime import datetime
class hgt_incidencias_mensaje(models.Model):
_name = 'hgt.incidencias_mensaje'
_order = 'id desc'
in_mensaje = fields.Text(string='Mensaje')
in_creador = fields.Many2one(
string = 'Creador',
comodel_name = 'res.users',
ondelete = 'set null',
default = lambda self: self.env.user.id,
)
in_mens_fecha = fields.Datetime(
string = u'Fecha de envío',
default=datetime.now().strftime('%Y-%m-%d %H:%M:%S')
)
in_interno = fields.Boolean(
string="Nota Interna?",
default=False
)
in_incidencias = fields.Many2many('hgt.incidencias', string=u'Incidencias',
relation='hgt_incidencia_mensaje_rel',
column2='hgt_incidencias_id',
column1='hgt_incidencias_mensaje_id')
\ No newline at end of file
......@@ -20,10 +20,10 @@
<field name="active" eval="True" />
<field name="arch" type="xml">
<tree>
<field name="numero" />
<field name="ost_asunto" />
<field name="in_numero" />
<!-- <field name="ost_asunto" /> -->
<field name="fecha_creacion"/>
<field name="url" widget="url"/>
<!-- <field name="url" widget="url"/> -->
<field colspan="2" name="cliente"/>
<field name="descripcion"/>
</tree>
......@@ -49,13 +49,13 @@
<field colspan="2" name="responsabilidad"/>
<field colspan="2" name="cliente"/>
</group>
<h2>Osticket</h2>
<!-- <h2>Ticket</h2>
<group col="2">
<field name="url" widget="url"/>
<field name="numero" />
<field name="in_numero" />
<field name="ost_cliente" />
</group>
<group col="4">
</group> -->
<!-- <group col="4">
<field name="ost_mail" />
<field name="ost_telefeno" />
</group>
......@@ -66,6 +66,22 @@
<field name="descripcion" nolabel="1"/>
<h2>Mensajes</h2>
<field name="ost_mensaje" nolabel="1"/>
</group> -->
<group col="2" string="Mensajes">
<h3>Histórico de mensajes:</h3>
<field name="in_historico_mensajes" readonly="1" colspan="2" nolabel='1'/>
<field name="in_texto_mensaje" nolabel='1' />
<button name="enviarMensaje_in" class="oe_edit_only" string="Enviar Mensaje" type="object" />
</group>
<group>
<field name="in_mensajes" required="0" nolabel="1" >
<tree delete="false" create="false">
<field name="in_mens_fecha" attrs="{'readonly': True}" />
<field name="in_creador" attrs="{'readonly': True}" />
<field name="in_mensaje" attrs="{'readonly': True}" />
</tree>
</field>
</group>
<notebook>
......
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data noupdate="0">
<record id="action_hgt_incidencias_mensaje_act_window" model="ir.actions.act_window">
<field name="type">ir.actions.act_window</field>
<field name="name">Mensaje</field>
<field name="res_model">hgt.incidencias_mensaje</field>
<field name="view_mode">tree,form</field>
<field name="view_type">form</field>
<field name="target">current</field>
</record>
<record id="view_hgt_incidencias_mensaje_tree" model="ir.ui.view">
<field name="name">Mensaje</field>
<field name="model">hgt.incidencias_mensaje</field>
<field name="type">tree</field>
<field name="mode">primary</field>
<field name="priority" eval="16" />
<field name="active" eval="True" />
<field name="arch" type="xml">
<tree>
<field name="in_creador" />
<field name="in_mens_fecha"/>
<field name="in_interno"/>
</tree>
</field>
</record>
<record id="view_hgt_incidencias_mensaje_form" model="ir.ui.view">
<field name="name">Mensaje</field>
<field name="model">hgt.incidencias_mensaje</field>
<field name="type">form</field>
<field name="mode">primary</field>
<field name="priority" eval="16" />
<field name="active" eval="True" />
<field name="arch" type="xml">
<form>
<!--<sheet>-->
<group col="4" string="Mensaje">
<field name="in_mens_fecha" colspan="2" attrs="{'readonly': True}" />
<field name="in_creador" colspan="2" attrs="{'readonly': True}" />
<field name="in_mensaje" attrs="{'readonly': True}" />
</group>
<group col="4">
<field name="in_interno" colspan="2" attrs="{'readonly': True}"/>
</group>
<!--</sheet>-->
</form>
</field>
</record>
</data>
</odoo>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!