Commit d18cd6f6 by Maria Agustina

avance 809

1 parent 3246a45a
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
'security/permisos.xml', 'security/permisos.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'views/incidencias.xml', 'views/incidencias.xml',
'views/mensajes.xml',
'views/configuracion.xml', 'views/configuracion.xml',
'views/menu.xml', 'views/menu.xml',
......
...@@ -4,4 +4,5 @@ from . import incidencias ...@@ -4,4 +4,5 @@ from . import incidencias
from . import reporte from . import reporte
from . import cliente from . import cliente
from . import estados from . import estados
from . import configuracion
\ No newline at end of file \ No newline at end of file
from . import configuracion
from . import mensajes
\ No newline at end of file \ No newline at end of file
No preview for this file type
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
from odoo.exceptions import UserError from odoo.exceptions import UserError
from odoo import models, fields, api from odoo import models, fields, api
import requests import requests
class hgt_incidencias(models.Model): class hgt_incidencias(models.Model):
_name = 'hgt.incidencias' _name = 'hgt.incidencias'
_order = "id desc" _order = "id desc"
...@@ -28,22 +29,6 @@ class hgt_incidencias(models.Model): ...@@ -28,22 +29,6 @@ class hgt_incidencias(models.Model):
string=u'Descripción', 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( fecha_creacion = fields.Date(
string=u'Fecha de creación', string=u'Fecha de creación',
...@@ -68,7 +53,6 @@ class hgt_incidencias(models.Model): ...@@ -68,7 +53,6 @@ class hgt_incidencias(models.Model):
string='Tareas derivadas', string='Tareas derivadas',
) )
proyecto = fields.Many2one( proyecto = fields.Many2one(
string='Proyecto', string='Proyecto',
comodel_name='hgt.proyecto', comodel_name='hgt.proyecto',
...@@ -89,6 +73,52 @@ class hgt_incidencias(models.Model): ...@@ -89,6 +73,52 @@ class hgt_incidencias(models.Model):
tiempo_carga = fields.Integer(string='Tiempo utilizado', default=30) 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): def generar_tareas(self):
#import ipdb; ipdb.set_trace() #import ipdb; ipdb.set_trace()
if (len(self.asignador) == 0): if (len(self.asignador) == 0):
...@@ -121,52 +151,68 @@ class hgt_incidencias(models.Model): ...@@ -121,52 +151,68 @@ class hgt_incidencias(models.Model):
result['domain'] = {'accion' : [('id', 'in', ids)]} result['domain'] = {'accion' : [('id', 'in', ids)]}
return result return result
url = fields.Char(string='Url de ticketera')
@api.model numero = fields.Char(string='Numero de ticket')
def create(self, vals):
dom =[] _sql_constraints = [('id_ost_uniq', 'unique (id_ost)', 'Id Ticket must be unique.')]
config = self.env['hgt.coniguracion_incidencias'].search([["habilitado", "=", True]]) id_ost = fields.Integer(string='Id osticket')
try:
datos = {'resumen':'Incidencia OST {} {}'.format(vals['numero'], vals['ost_asunto']), ost_cliente = fields.Char(string='Ost cliente')
'descripcion': vals['descripcion'],
'ejecutor':config.dispacher.id, ost_asunto = fields.Char(string='Ost asunto')
'origen':"Incidentes",}
if config.url_ost == True: ost_mail = fields.Char(string='Ost mail')
datos['notitas'] = vals['url']
if (vals['numero'] == False) or (vals['numero'] == ""): ost_telefeno = fields.Char(string='Ost telefono')
raise()
except: ost_mensaje = fields.Text(string='Mensajes')
num = self.search_count([]) + 1
#num = 1 # @api.model
datos = {'resumen':'Incidencia local {} '.format(num),'origen':"Incidentes",'ejecutor':config.dispacher.id} # def create(self, vals):
vals['numero'] = "INC {}".format(num) # dom =[]
print(datos) # config = self.env['hgt.coniguracion_incidencias'].search([["habilitado", "=", True]])
nueva_tar = self.env['hgt.tarea'].create(datos) # try:
try: # datos = {'resumen':'Incidencia OST {} {}'.format(vals['numero'], vals['ost_asunto']),
if vals['accion']: # 'descripcion': vals['descripcion'],
accion = vals['accion'] # 'ejecutor':config.dispacher.id,
acc = self.env['hgt.acciones'].search([('id','=',accion)]) # 'origen':"Incidentes",}
acc.tareas = [(4,nueva_tar.id)] # if config.url_ost == True:
except: # datos['notitas'] = vals['url']
pass # if (vals['numero'] == False) or (vals['numero'] == ""):
vals['tarea'] = nueva_tar.id # raise()
result = super(hgt_incidencias, self).create(vals) # except:
return result # num = self.search_count([]) + 1
# #num = 1
# datos = {'resumen':'Incidencia local {} '.format(num),'origen':"Incidentes",'ejecutor':config.dispacher.id}
def mensajes_ost(self, val): # vals['numero'] = "INC {}".format(num)
#print(val[0]) # print(datos)
dom = [["numero", "=", val[0]]] # nueva_tar = self.env['hgt.tarea'].create(datos)
ins = self.env['hgt.incidencias'].search(dom, limit=1) # try:
if len(ins) == 0: # if vals['accion']:
#print("no esta en sistemma") # accion = vals['accion']
return(True) # acc = self.env['hgt.acciones'].search([('id','=',accion)])
text_orig = ins.ost_mensaje # acc.tareas = [(4,nueva_tar.id)]
texto_nuevo = """\n{} {} {} \n{}\n\n#######################################################\n""".format(val[1],val[2],val[4],val[3]) # except:
Texto = """{}\n{}""".format(text_orig,texto_nuevo) # pass
#print(Texto) # vals['tarea'] = nueva_tar.id
ins.ost_mensaje = Texto # result = super(hgt_incidencias, self).create(vals)
return(True) # 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 \ No newline at end of file
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
<field name="active" eval="True" /> <field name="active" eval="True" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <tree>
<field name="numero" /> <field name="in_numero" />
<field name="ost_asunto" /> <!-- <field name="ost_asunto" /> -->
<field name="fecha_creacion"/> <field name="fecha_creacion"/>
<field name="url" widget="url"/> <!-- <field name="url" widget="url"/> -->
<field colspan="2" name="cliente"/> <field colspan="2" name="cliente"/>
<field name="descripcion"/> <field name="descripcion"/>
</tree> </tree>
...@@ -49,13 +49,13 @@ ...@@ -49,13 +49,13 @@
<field colspan="2" name="responsabilidad"/> <field colspan="2" name="responsabilidad"/>
<field colspan="2" name="cliente"/> <field colspan="2" name="cliente"/>
</group> </group>
<h2>Osticket</h2> <!-- <h2>Ticket</h2>
<group col="2"> <group col="2">
<field name="url" widget="url"/> <field name="url" widget="url"/>
<field name="numero" /> <field name="in_numero" />
<field name="ost_cliente" /> <field name="ost_cliente" />
</group> </group> -->
<group col="4"> <!-- <group col="4">
<field name="ost_mail" /> <field name="ost_mail" />
<field name="ost_telefeno" /> <field name="ost_telefeno" />
</group> </group>
...@@ -66,7 +66,23 @@ ...@@ -66,7 +66,23 @@
<field name="descripcion" nolabel="1"/> <field name="descripcion" nolabel="1"/>
<h2>Mensajes</h2> <h2>Mensajes</h2>
<field name="ost_mensaje" nolabel="1"/> <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>
<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> <notebook>
<page string="Tareas"> <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!