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',
......
......@@ -4,4 +4,5 @@ from . import incidencias
from . import reporte
from . import cliente
from . import estados
from . import configuracion
\ No newline at end of file
from . import configuracion
from . import mensajes
\ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
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
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)
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')
# @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="ost_cliente" />
</group>
<group col="4">
<field name="in_numero" />
<field name="ost_cliente" />
</group> -->
<!-- <group col="4">
<field name="ost_mail" />
<field name="ost_telefeno" />
</group>
......@@ -66,7 +66,23 @@
<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>
<page string="Tareas">
......
<?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!