class EmpresaDepartamento: IdDepartamento = 0 IdEmpresa = 0 Nombre = "" conn = "" def __init__(self): self.conn = Conexion() def setIDEmpresa(self,id): self.IdEmpresa = id def setIDDepartamento(self,idDep): self.IdDepartamento = idDep def ListarDepartamentosEmp(self,idEmp): departamentos = [] stat = ['select ep.IdEmpresa, ep.IdDepartamento, d.Nombre from Empresa_Departamento ep join Departamento d on ep.IdDepartamento = d.IdDepartamento where ep.IdEmpresa = ? and d.Activo = 1',idEmp] departamentos = self.conn.hacerSelect(stat) return departamentos def agregarDepartamentosEmp(self): dml = ["exec AgregarDepartamentosEmpresa ?,?",self.IdEmpresa,self.IdDepartamento] self.conn.hacerDML(dml) # def limpiarDepartamentosEmp(self): # dml = ["delete from Empresa_Departamento where IdEmpresa = ?", self.IdEmpresa] # self.conn.hacerDML(dml) # def limpiarUsuariosDepEmp(self): # dml = ["exec EliminarUsuariosDep ?",self.IdDepartamento] # self.conn.hacerDML(dml)
class Bitacora: IdBitacora = 0 Idusuario = 0 Accion = "" Detalle = "" FechaHora = "" conn = "" def __init__(self): self.conn = Conexion() def setBitacora(self, usuario, accion, detalle, fechahora): self.Idusuario = usuario self.Accion = accion self.Detalle = detalle self.FechaHora = fechahora def listarBitacora(self): stat = ['exec ListarBitacora'] r = self.conn.hacerSelect(stat) return r def agregarBitacora(self): dml = [ 'exec AgregarBitacora ?,?,?,?', self.Idusuario, self.Accion, self.Detalle, self.FechaHora ] if self.conn.hacerDML(dml): return True
class ConfiguracionCorreo: IdConfig = 0 Correo = "" ServidorSMTP = "" Puerto = 0 Password = "" conn = "" def __init__(self): self.conn = Conexion() def setID(self, ID): self.IdConfig = ID def setConfig(self, ID, correo, server, puerto, contra): self.IdConfig = ID self.Correo = correo self.ServidorSMTP = server self.Puerto = puerto self.Password = contra def modificarConfigCorreo(self): dml = [ 'exec ModificarConfigCorreo ?,?,?,?,?', self.Correo, self.ServidorSMTP, self.Puerto, self.Password, self.IdConfig ] if self.conn.hacerDML(dml): return True def getInfoCorreo(self): stat = ['exec ConsultarIDConfig ?', self.IdConfig] config = self.conn.hacerSelect(stat) return config def listarConfigCorreo(self): stat = ['exec ListarConfigCorreo'] configList = self.conn.hacerSelect(stat) return configList
class Email: emailreset = "" validador = "" token = "" fechaExpiracion = "" conn = "" # emailFrom = "*****@*****.**" # clave = "Keneth155tutos" def __init__(self): self.conn = Conexion() config = self.getConfig() self.emailFrom = config.Correo self.clave = config.Password self.server = config.ServidorSMTP self.puerto = config.Puerto def setEmail(self, email, val, token, fechaExp): self.emailreset = email self.validador = val self.token = token self.fechaExpiracion = fechaExp def setCorreo(self, c): self.emailreset = c def setToken(self, t): self.token = t def setValidador(self, v): self.validador = v def getConfig(self): stat = ['exec ObtenerConfig'] r = self.conn.hacerSelect(stat) return r[0] def emailActualizacionTicket(self, emailTo, tipoEmail, tituloTicket, prioridad): if tipoEmail == 1: # Notificacion al cliente que el Ticket se esta trabajando por un empleado subject = "Ticket en revision" body = f"Le informamos que su ticket <strong>{tituloTicket}</strong> esta siendo manejado por uno de nuestros empleados, le informaremos en cuanto este se resuelva" elif tipoEmail == 2: # Notificacion al cliente que el Ticket se resolvio subject = "Ticket resuelto" body = f"Le informamos que su ticket <strong>{tituloTicket}</strong> ha sido resuelto. Podra ver la resolucion brindada desde su panel de control. Este ticket se eliminara en un lapso de 7 dias." elif tipoEmail == 3: # Notificacion al empleado que un ticket le fue asignado subject = "Ticket asignado" if prioridad == 1: prio = "<p style='color:green;'>Verde<p>" elif prioridad == 2: prio = "<p style='color:yellow;'>Amarilla</p>" elif prioridad == 3: prio = "<p style='color:orange;'>Naranja</p>" elif prioridad == 4: prio = "<p style='color:red;'>Roja</p>" body = f"Se te ha asignado el ticket <strong>{tituloTicket}</strong> con prioridad {prio}" else: return "Error" msg = MIMEMultipart('alternative') msg["Subject"] = subject htmlBody = MIMEText(body, 'html') msg.attach(htmlBody) try: server = smtplib.SMTP(self.server, self.puerto) server.starttls() server.login(self.emailFrom, self.clave) server.sendmail(self.emailFrom, emailTo, msg.as_string()) except: return "Error" def enviarEmailRecuperacion(self): self.eliminarPrevios() tokenKey = uuid.uuid4().hex.encode('utf-8') token = hashlib.sha256(tokenKey).hexdigest() validatorKey = uuid.uuid4().hex.encode('utf-8') validator = hashlib.sha256(validatorKey).hexdigest() fechaExp = datetime.datetime.now() + datetime.timedelta(seconds=3600) enlace = "http://localhost:5000/crearNuevaClave/" + validator + "/" + token try: server = smtplib.SMTP(self.server, self.puerto) server.starttls() server.login(self.emailFrom, self.clave) subject = "Recuperacion de clave Sistema de Tickets Trustnet Information Security" body = f"Para recueprar su clave dirigase al siguiente enlace {enlace} este expirara dentro de una hora, si no ha solicitado recuperar su clave puede ignorar este correo" msg = f'Subject: {subject}\n\n{body}' server.sendmail(self.emailFrom, self.emailreset, msg) insert = [ "insert into pwdReset(emailReset,validador,token,fechaExpiracion) values(?,?,?,?)", self.emailreset, validator, token, fechaExp ] self.conn.hacerDML(insert) except: return "Error" def eliminarPrevios(self): dml = ["DELETE FROM pwdReset where emailReset = ?", self.emailreset] self.conn.hacerDML(dml) def enlaceValido(self): stat = [ 'select * from pwdReset where token = ? and validador = ?', self.token, self.validador ] r = self.conn.hacerSelect(stat) now = datetime.datetime.now() if len(r) == 1 and (r[0].fechaExpiracion - now).total_seconds() <= 3600: return True def getEmail(self): stat = [ 'select * from pwdReset where token = ? and validador = ?', self.token, self.validador ] r = self.conn.hacerSelect(stat) print(list(r)) return r[0].emailReset
class Usuario: IdUsuario = 0 Nombre = "" Cedula = "" Email = "" Pass = "" Avatar = "default-user.jpg" IdEmpresa = 0 IdDepartamento = 0 IDTipo = 0 Logueado = 0 conn = "" def __init__(self): self.conn = Conexion() def setUsuario(self, Nombre, Cedula, Email, Pass, IDTipo, IDEmpresa, IDDepartamento): self.Nombre = Nombre self.Cedula = Cedula self.Email = Email self.Pass = Pass self.IdEmpresa = IDEmpresa self.IdDepartamento = IDDepartamento self.IDTipo = IDTipo def setNombre(self, n): self.Nombre = n def setIDEmpresa(self, i): self.IdEmpresa = i def setIdDep(self, i): self.IdDepartamento = i def setAvatar(self, avatar): self.Avatar = avatar def setEmail(self, Email): self.Email = Email def setPass(self, Pass): self.Pass = Pass def setCedula(self, Cedula): self.Cedula = Cedula def setID(self, ID): self.IdUsuario = ID def setTipo(self, tipo): self.IDTipo = tipo def setContra(self, c): self.Pass = c def getInfoUsuario(self): stat = ['exec ConsultarIdUsuario ?', self.IdUsuario] usuario = self.conn.hacerSelect(stat) return usuario def ListarUsuariosXDepartamento(self, activo): usuarios = [] stat = ('exec ListarEmpleadosXDepartamento ?,?,?', session["Departamento"], activo, session["Empresa"]) usuarios = self.conn.hacerSelect(stat) return usuarios def ListarUsuariosXEstado(self, filtro): usuarios = [] stat = ['exec ListarUsuariosXEstado ?', filtro] usuarios = self.conn.hacerSelect(stat) return usuarios def ListarUsuariosXTipo(self, tipo, activo): usuarios = [] stat = ['exec ListarUsuariosXTipo ?,?', tipo, activo] usuarios = self.conn.hacerSelect(stat) return usuarios def ListarEmpleadosDepEmp(self, idDep, idEmp): usuarios = [] stat = ['exec ListarUsuariosDepEmp ?,?', idDep, idEmp] usuarios = self.conn.hacerSelect(stat) return usuarios def getTipoUsuario(self): stat = ['exec ConsultarTipoUsuario ?', self.IdUsuario] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0: return usuario[0].IdTipoUsuario else: return 0 def AgregarUsuario(self): dml = [ 'exec AgregarUsuario ?,?,?,?,?,?,?,?', self.Nombre, self.Cedula, self.Email, self.Pass, self.Avatar, self.IdEmpresa, self.IdDepartamento, self.IDTipo ] if self.conn.hacerDML(dml): if "ID" in session: objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Agregar", "Agregar Usuario", dt.datetime.now()) objBitacora.agregarBitacora() return True def modificarPerfil(self): dml = [ 'exec ModificarUsuario ?,?,?,?,?,?,?,?,?', self.Nombre, self.Cedula, self.Email, self.Pass, self.Avatar, self.IdEmpresa, self.IdDepartamento, self.IDTipo, self.IdUsuario ] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Modificar", "Modificar Usuario", dt.datetime.now()) objBitacora.agregarBitacora() return True def validarUsuario(self, tipo): stat = ['exec ValidarUsuario ?,?,?', self.Email, self.Pass, tipo] usuario = self.conn.hacerSelect(stat) # print(len(usuario)) if len(usuario) > 0: dml = ['exec IniciarSesion ?', usuario[0].IdUsuario] self.conn.hacerDML(dml) return usuario def cerrarSesion(self): dml = [ 'update Usuario set Logueado = 0 where IdUsuario = ?', self.IdUsuario ] self.conn.hacerDML(dml) def validarEmail(self, src): stat = ['exec validarEmail ?', self.Email] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0: if "modificarUsuario" in src or "perfil" in src: ID = src.rsplit('/')[-1] if int(usuario[0].IdUsuario) == int(ID) and str( usuario[0].Email) == str(self.Email): return False else: return True else: return True def validarCedula(self, src): stat = ['exec validarCedula ?', self.Cedula] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0: if "modificarUsuario" in src or "perfil" in src: ID = src.rsplit('/')[-1] if int(usuario[0].IdUsuario) == int(ID) and str( usuario[0].Cedula) == str(self.Cedula): return False else: return True else: return True def consultarUsuarioEmpDep(self): stat = ['exec consultarUsuarioEmpDep ?,?', self.IdUsuario, self.IDTipo] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0 and not hasattr(usuario[0], 'Vacio'): return True def consultarID(self): stat = ['exec ConsultarIdUsuario ?', self.IdUsuario] usuario = self.conn.hacerSelect(stat) return usuario def consultarTicketsUsuario(self): stat = ['exec consultarTicketsUsuario ?', self.IdUsuario] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0: return True def existeTipoUsuario(self): stat = [ 'exec ExisteTipoUsuario ?,?', self.IdEmpresa, self.IdDepartamento ] usuario = self.conn.hacerSelect(stat) if len(usuario) > 0: if self.IdUsuario != 0: if usuario[0][0] == self.IdUsuario: return False return True def activarUsuario(self): dml = ['exec ActivarUsuario ?', self.IdUsuario] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Activar", "Activar Usuario", dt.datetime.now()) objBitacora.agregarBitacora() return True def eliminarUsuario(self): dml = ['exec EliminarUsuario ?', self.IdUsuario] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Eliminar", "Eliminar Usuario", dt.datetime.now()) objBitacora.agregarBitacora() return True def listarUsuariosXEmpresa(self, activo): usuarios = [] stat = ('exec ListarUsuariosXEmpresa ?,?', activo, session['Empresa']) usuarios = self.conn.hacerSelect(stat) return usuarios def cambiarClave(self): dml = ['exec CambiarClave ?,?', self.Email, self.Pass] if self.conn.hacerDML(dml): return True def buscarUsuarios(self, filtro): stat = [ 'exec BuscarUsuarios ?,?,?,?', str(filtro), self.IDTipo, self.IdDepartamento, self.IdEmpresa ] r = self.conn.hacerSelect(stat) return r
class Departamento: IdDepartamento = 0 Nombre = "" Descripcion = "" conn = "" def __init__(self): self.conn = Conexion() def setDepartamento(self, IdDep, nom, desc): self.IdDepartamento = IdDep self.Nombre = nom self.Descripcion = desc def setID(self, ID): self.IdDepartamento = ID def setNombre(self, nombre): self.Nombre = nombre def setDescripcion(self, d): self.Descripcion = d def ListarDepartamentosXEstado(self, filtro): departamentos = [] stat = ['exec ListarDepartamentosXEstado ?', filtro] departamentos = self.conn.hacerSelect(stat) return departamentos def ListarDepartamentos(self): departamentos = [] stat = [ 'select * from Departamento where Activo = 1 order by IdDepartamento desc' ] departamentos = self.conn.hacerSelect(stat) return departamentos def agregarDepartamento(self): dml = [ 'INSERT INTO Departamento(Nombre,Descripcion) values(?,?)', self.Nombre, self.Descripcion ] self.conn.hacerDML(dml) objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Agregar", "Agregar Departamento", dt.datetime.now()) objBitacora.agregarBitacora() def verificarDepartamento(self, src): stat = ['exec validarDepartamento ?', self.Nombre] dep = self.conn.hacerSelect(stat) if len(dep) > 0: if "modificarDepartamento" in src: ID = src.rsplit('/')[-1] if int(dep[0].IdDepartamento) == int(ID) and str( dep[0].Nombre).upper() == str(self.Nombre).upper(): return False else: return True else: return True def verificarTickets(self): stat = ['exec ListarTicketsXDep ?,?', self.IdDepartamento, 1] tickets = self.conn.hacerSelect(stat) if len(tickets) == 0: stat = ['exec ListarTicketsXDep ?,?', self.IdDepartamento, 2] ticketsTrab = self.conn.hacerSelect(stat) if len(ticketsTrab) == 0: return True def consultarID(self): stat = ['exec ConsultarIdDepartamento ?', self.IdDepartamento] dep = self.conn.hacerSelect(stat) return dep def eliminarDepartamento(self): dml = ['exec EliminarUsuariosDep ?', self.IdDepartamento] self.conn.hacerDML(dml) dml2 = ['exec EliminarDepartamento ?', self.IdDepartamento] if self.conn.hacerDML(dml2): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Eliminar", "Eliminar Departamento", dt.datetime.now()) objBitacora.agregarBitacora() return True def activarDepartamento(self): dml = ['exec ActivarDepartamento ?', self.IdDepartamento] if self.conn.hacerDML(dml): dml = ['exec ActivarUsuariosDep ?', self.IdDepartamento] self.conn.hacerDML(dml) objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Activar", "Activar Departamento", dt.datetime.now()) objBitacora.agregarBitacora() return True def modificarDepartamento(self): dml = [ 'exec ModificarDepartamento ?,?,?', self.IdDepartamento, self.Nombre, self.Descripcion ] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Modificar", "Modificar Departamento", dt.datetime.now()) objBitacora.agregarBitacora() return True def buscarDepartamentos(self, filtro): stat = ['exec BuscarDepartamentos ?', filtro] r = self.conn.hacerSelect(stat) return r
class Empresa: IdEmpresa = 0 Nombre = "" Direccion = "" Telefono = "" IdTipoEmpresa = 0 conn = "" def __init__(self): self.conn = Conexion() def setID(self, ID): self.IdEmpresa = ID def setNombre(self, nombre): self.Nombre = nombre def setTelefono(self, tel): self.Telefono = tel def setIdTipo(self, t): self.IdTipoEmpresa = t def setEmpresa(self, nombre, direccion, telefono, tipo): self.Nombre = nombre self.Direccion = direccion self.Telefono = telefono self.IdTipoEmpresa = tipo def getUltimoID(self): stat = ["select MAX(IdEmpresa) as ID from Empresa"] lastID = self.conn.hacerSelect(stat) return lastID[0].ID def ListarEmpresasXEstado(self, filtro): empresas = [] stat = ['exec ListarEmpresasXEstado ?', filtro] empresas = self.conn.hacerSelect(stat) return empresas def ListarEmpresasXTipo(self): empresas = [] stat = ['exec ListarEmpresasXTipo ?', self.IdTipoEmpresa] empresas = self.conn.hacerSelect(stat) return empresas def verificarTickets(self): stat = ['exec ListarTicketsXEmpresa ?,?', self.IdEmpresa, 1] tickets = self.conn.hacerSelect(stat) if len(tickets) == 0: stat = ['exec ListarTicketsXEmpresa ?,?', self.IdEmpresa, 2] ticketsTrab = self.conn.hacerSelect(stat) if len(ticketsTrab) == 0: return True def verificarEmpresa(self, src): stat = ['exec VerificarEmpresa ?', self.Nombre] emp = self.conn.hacerSelect(stat) if len(emp) > 0: if "modificarEmpresa" in src: ID = src.rsplit('/')[-1] if int(emp[0].IdEmpresa) == int(ID) and str( emp[0].Nombre).upper() == str(self.Nombre).upper(): return False else: return True else: return True if len(emp) > 0: return True def verificarTelefono(self, src): stat = ['exec VerificarTelefono ?', str("+506" + self.Telefono)] emp = self.conn.hacerSelect(stat) if len(emp) > 0: if "modificarEmpresa" in src: ID = src.rsplit('/')[-1] if int(emp[0].IdEmpresa) == int(ID) and str( emp[0].Telefono) == str("+506" + self.Telefono): return False else: return True else: return True def agregarEmpresa(self): dml = [ "exec AgregarEmpresa ?,?,?,?", self.Nombre, self.Direccion, self.Telefono, self.IdTipoEmpresa ] if self.conn.hacerDML(dml): if "ID" in session: objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Agregar", "Agregar Empresa", dt.datetime.now()) objBitacora.agregarBitacora() return True def EliminarEmpresa(self): dml = ['exec EliminarUsuariosEmp ?', self.IdEmpresa] self.conn.hacerDML(dml) dml2 = ['exec EliminarEmpresa ?', self.IdEmpresa] if self.conn.hacerDML(dml2): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Eliminar", "Eliminar Empresa", dt.datetime.now()) objBitacora.agregarBitacora() return True def modificarEmpresa(self): dml = [ 'exec ModificarEmpresa ?,?,?,?', self.Nombre, self.Direccion, self.Telefono, self.IdEmpresa ] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Modificar", "Modificar Empresa", dt.datetime.now()) objBitacora.agregarBitacora() return True def consultarID(self): stat = ['exec ConsultarIdEmpresa ?', self.IdEmpresa] empresa = self.conn.hacerSelect(stat) return empresa def activarEmpresa(self): dml = ['exec ActivarEmpresa ?', self.IdEmpresa] if self.conn.hacerDML(dml): dml = ['exec ActivarUsuariosEmpresa ?', self.IdEmpresa] self.conn.hacerDML(dml) objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Activar", "Activar Empresa", dt.datetime.now()) objBitacora.agregarBitacora() return True def buscarEmpresas(self, filtro): stat = ['exec BuscarEmpresas ?', filtro] r = self.conn.hacerSelect(stat) return r
class Ticket: IdTicket = 0 IdCreador = 0 IdSolucionador = 0 IdAsignador = 0 IdDepartamento = 0 IdEmpresa = 0 IdEmpresaCreadora = 0 IdPrioridad = 0 IdEstatus = 0 IdUrgencia = 0 Titulo = "" Detalle = "" FechaHoraCreacion = "" FechaHoraResolucion = "" Calificacion = 0 Resolucion = "" conn = "" def __init__(self): self.conn = Conexion() def setID(self, Id): self.IdTicket = Id def setIDDepartamento(self, id): self.IdDepartamento = id def setIdEmpresa(self, id): self.IdEmpresa = id def setIDSolucionador(self, id): self.IdSolucionador = id def setPrioridad(self, id): self.IdPrioridad = id def setResolucion(self, p): self.Resolucion = p def setCalificacion(self, c): self.Calificacion = c def setTicket(self, titulo, detalle, idempresa, idempresaC, idC, idUr): self.Titulo = titulo self.Detalle = detalle self.IdEmpresa = idempresa self.IdEmpresaCreadora = idempresaC self.IdCreador = idC self.IdUrgencia = idUr def ListarTicketsXEmpresa(self, IdEmp, estado): tickets = [] stat = ['exec ListarTicketsXEmpresa ?,?', IdEmp, estado] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXEmpresaCliente(self, IdEmp, estado): tickets = [] stat = ['exec ListarTicketsXEmpresaCliente ?,?', IdEmp, estado] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXAsignar(self, IdEmp): tickets = [] stat = ['exec ListarTicketsXAsignar ?', IdEmp] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXEmpresaDep(self, IdEmp, Idep, estado): tickets = [] stat = ['exec ListarTicketsXEmpDep ?,?,?', IdEmp, Idep, estado] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXEstado(self, estado): tickets = [] stat = ['exec ListarTicketsXEstado ?', estado] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXEmpleado(self, estado, idu): tickets = [] stat = ['exec ListarTicketsEmpleado ?,?', idu, estado] tickets = self.conn.hacerSelect(stat) return tickets def ListarTicketsXCliente(self, estado, idu): tickets = [] stat = ['exec ListarTicketsCliente ?,?', idu, estado] tickets = self.conn.hacerSelect(stat) return tickets def consultarID(self): stat = ['exec ConsultarIDTicket ?', self.IdTicket] ticket = self.conn.hacerSelect(stat) return ticket def agregarTicket(self): dml = [ 'exec CrearTicket ?,?,?,?,?,?', self.IdCreador, self.IdEmpresa, self.IdUrgencia, self.Titulo, self.Detalle, self.IdEmpresaCreadora ] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Agregar", "Agregar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def eliminarTicket(self): dml = ['exec EliminarTicket ?', self.IdTicket] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Eliminar", "Eliminar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def asignarTicket(self): dml = [ 'exec AsignarTicket ?,?,?,?,?', self.IdDepartamento, self.IdSolucionador, self.IdTicket, int(session['ID']), self.IdPrioridad ] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Asignar", "Asignar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def trabjarTicket(self): dml = ['exec TrabajarTicket ?,?', int(session['ID']), self.IdTicket] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Trabajar", "Trabajar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def cerrarTicket(self): dml = ['exec CerrarTicket ?,?', self.IdTicket, self.Resolucion] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Cerrar", "Cerrar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def calificarTicket(self): dml = ['exec CalificarTicket ?,?', self.IdTicket, self.Calificacion] if self.conn.hacerDML(dml): objBitacora = Bitacora() objBitacora.setBitacora(int(session["ID"]), "Calificar", "Calificar Ticket", dt.datetime.now()) objBitacora.agregarBitacora() return True def buscarTickets(self, filtro, tipo, idUsuario): stat = [ 'exec BuscarTickets ?,?,?,?,?', filtro, tipo, self.IdEmpresa, self.IdDepartamento, idUsuario ] r = self.conn.hacerSelect(stat) return r