def cambiar_contrasena(self, contrasena_a, contrasena_n, contrasena_nc): id = session['usuario']['id'] contrasena_c = hashlib.sha1(contrasena_a).hexdigest() usuario = Usuario(id=id) usuario_e = UsuarioDao().get_usuario_por_id(usuario) if usuario_e is not None: if usuario_e.getContrasena() == contrasena_c: if contrasena_n == contrasena_nc: contrasena_cn = hashlib.sha1(contrasena_n).hexdigest() if UsuarioDao().cambiar_contrasena(usuario_e, contrasena_cn): flash("Se cambio la contrasena correctamente.", "success") else: flash("Error al cambiar la contrasena.", "error") else: flash("Las contrasenas no coinciden.", "error") return redirect(url_for("usuarios.cambiar_contrasena")) else: flash("Las contrasenas no coinciden con la actual.", "error") return redirect(url_for("usuarios.cambiar_contrasena")) else: del session['usuario'] return render_template("login/login")
def consulta_estadoP(self, estado): propuesta_U = UsuarioPropuesta(estado=estado) if (Propuesta_UsuarioDao().get_propuesta_estado(propuesta_U)): propuestas = Propuesta_UsuarioDao().get_propuesta_estado( propuesta_U) propuestas_2 = list() for propuesta_usuario in propuestas: pro = Propuesta_UsuarioDao().get_propuesta_codigo( propuesta_usuario) propuestas_2.append(pro) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/estadoP.html", propuestas=propuestas_2, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Propuestas con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/estadoP.html", usuario=usuario_u, tipoU=tipoU)
def recordar_contrasena(self, codigo): usuario_c = UsuarioDao().get_usuario_por_codigo(Usuario(codigo=codigo)) type_flash = "error" if usuario_c is None: msg = "El usuario no existe en el sistema." else: token = hashlib.sha1( str(usuario_c.getId()) + usuario_c.getCodigo()).hexdigest() usuario_c.setTokenPassword(token) mensaje = "Para realizar el cambio de contraseña en el sistema " \ "haga <a href='https://ctgistemas.herokuapp.com/cambiar_contrasena/" + \ usuario_c.getTokenPassword() + "'>clic aquí.</a>" print mensaje if EmailController().enviar_email( usuario_c.getEmail(), mensaje, "Cambio de Contraseña - CTG Sistemas"): if not UsuarioDao().editar_usuario(usuario_c): msg = u"Error al realizar el cambio de la contraseña." else: msg = u"Se ha un email con las intrucciones para " \ u"restablecer su contraseñas." type_flash = "success" else: msg = u"Error al enviar el email de cambio de contraseña." flash(msg, type_flash)
def crear_jurado(self, codigo, nombres, apellidos, cedula, email, contrasena, tipo_usuario): contrasena = hashlib.sha1(contrasena).hexdigest() usuario = Usuario(codigo=codigo, cedula=cedula, contrasena=contrasena, nombres=nombres, apellidos=apellidos, email=email, tipo_usuario=tipo_usuario) usuario_error = { 'codigo': codigo, 'cedula': cedula, 'nombres': nombres, 'apellidos': apellidos, 'email': email } if UsuarioDao().get_usuario_por_codigo(usuario) is not None: flash( "Ya existe un usuario con el codigo {}.".format( usuario.getCodigo()), "error") tipos = TipoUsuarioDao().listar_tipo_usuario() return render_template("secretaria/registroJ.html", usuario=usuario_error, tipos=tipos) if UsuarioDao().crear_usuario(usuario): flash("El usuario se creo correctamente.", "success") else: flash("Error al registrar el usuario.", "error") return redirect(url_for("secretaria.listar_jurados"))
def consulta_modalidadT(self, tipo_modalidad, trabajo_a): print 'entroo33' propuesta = Propuesta(modalidad=tipo_modalidad) propuestas = PropuestaDao().get_propuesta_modalidadT(propuesta) if (propuestas): print 'propuestas' trabajos = list() for propuesta in propuestas: pro = TrabajoGradoDao().get_trabajo_modalidadT( propuesta, trabajo_a) if (pro is not None): trabajos.append(pro) print trabajos, 'trabajos' tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/modalidadT.html", trabajos=trabajos, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Trabajos con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/modalidadT.html", usuario=usuario_u, tipoU=tipoU)
def get_lista_usuarios(self, pagina, codigo, nombres, cedula, apellidos): usuarios = UsuarioDao().get_lista_usuarios( pagina, codigo, nombres, cedula, apellidos) total_usuarios = UsuarioDao().get_total_usuarios( pagina, codigo, nombres, cedula, apellidos) total_paginas = (total_usuarios / 10) + 1 return render_template("usuarios/listar.html", usuarios=usuarios, total_paginas=total_paginas, total_usuarios=total_usuarios)
def eliminar_usuario(self, id_usuario): usuario = Usuario(id=id_usuario) if UsuarioDao().get_usuario_por_id(usuario) is None: flash("El usuario que intenta eliminar no existe.", "error") else: if UsuarioDao().eliminar_usuario(usuario): flash("El usuario ha sido eliminado.", "success") else: flash("El usuario no se pudo eliminar.", "error") return redirect(url_for("usuarios.listar_usuarios"))
def get_lista_jurados(self, pagina, codigo, nombres, cedula, apellidos): usuarios = UsuarioDao().get_jurados(4) cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) total_usuarios = UsuarioDao().get_total_usuarios( pagina, codigo, nombres, cedula, apellidos) total_paginas = (total_usuarios / 10) + 1 return render_template("secretaria/listar_jurados.html", usuarios=usuarios, total_paginas=total_paginas, usuario_u=usuario, total_usuarios=total_usuarios)
def get_home_usuario(): tipos = TipoUsuarioDao().listar_tipo_usuario() if 'usuario' in session: tipoU = session['usuario']['tipo'] codigo = session['usuario']['codigo'] usuario = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=codigo)) if tipoU == 2: actas = SecretariaController().get_actas() return render_template('secretaria/home.html', titulo="Inicio", usuario=usuario, actas=actas) elif tipoU == 3: trabajos = TrabajoGradoDao().get_trabajos() return render_template('coordinador/home.html', titulo="Inicio", usuario=usuario, trabajos=trabajos) elif tipoU == 4: p = PropuestaDao().get_propuesta_consulta_jurado(usuario) t = TrabajoGradoDao().get_trabajos_Jurado(usuario) return render_template('jurado/home.html', titulo="Inicio", usuario=usuario, propuestas=p, trabajos=t) elif tipoU == 5: return EstudianteController().get_registrar_propuesta() return render_template('login/login.html', tipos=tipos)
def __encontrar_user(self, email, cnpj): conn = get_conexao() empresa = EmpresaDao(conn).obter_pelo_cnpj(cnpj) user = UsuarioDao(conn, empresa).obter_pelo_email(email) conn.close() return user
def get_view_juradoEstudiante(self): tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", usuario=usuario_u, tipoU=tipoU)
def encontrar_user(self, email, empresa): conn = get_conexao() empresa = EmpresaDao(conn).obter_pelo_alias(empresa) user = UsuarioDao(conn, empresa).obter_pelo_email(email) conn.close() return user
def get_home_usuario(): tipos = TipoUsuarioDao().listar_tipo_usuario() if 'usuario' in session: tipo = session['usuario']['tipo'] usuario_tipo = Usuario(tipo_usuario=tipo) usuario = UsuarioDao().get_usuario_por_tipo(usuario_tipo) print usuario.getTipoUsuario().getId() if usuario.getTipoUsuario().getId() == 2: return render_template('secretaria/home.html', titulo="Inicio", usuario=usuario) elif usuario.getTipoUsuario().getId() == 3: return render_template('coordinador/home.html', titulo="Inicio", usuario=usuario) elif usuario.getTipoUsuario().getId() == 4: return render_template('jurado/home.html', titulo="Inicio", usuario=usuario) elif usuario.getTipoUsuario().getId() == 5: return render_template('estudiante/home.html', titulo="Inicio", usuario=usuario) return render_template('login/login.html', tipos=tipos)
def asignar_propuesta(self, codigo): usuario_pro = Usuario(codigo=codigo) usuario_e = UsuarioDao().get_usuario_por_codigo(usuario_pro) if usuario_e is None: flash("El codigo del estudiante no existe", "error") return redirect(url_for("estudiante.home")) usuario_p = Propuesta_UsuarioDao().get_propuesta_usuario( UsuarioPropuesta(id_estudiante=usuario_e.getId())) if usuario_p is not None: flash("El estudiante ya esta asignado a una propuesta", "error") return redirect(url_for("estudiante.home")) usuario_pro = Propuesta_UsuarioDao().get_propuesta_usuario( UsuarioPropuesta(id_estudiante=session['usuario']['id'])) if Propuesta_UsuarioDao().crear_propuesta_usuario( usuario_pro.getId_propuesta(), usuario_e.getId()): mensaje = "Ha sido asignado a una propuesta de trabajo." \ "Favor ingresar al sistema y verificar la informacion," \ " si no esta deacuerdo por favor diligenciar un retiro " \ "de la propuesta." \ "" flash("Se ha asignado correctamente al estudiante", "success") EmailController().enviar_email( usuario_e.getEmail(), mensaje, "Asignacion de Propuesta - CTG Sistemas") return redirect(url_for("estudiante.home"))
def get_view_cancelarP(self): tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/cancelarP.html", usuario=usuario_u, tipoU=tipoU)
def get_cambiar_contrasena(self, token): usuario = UsuarioDao().get_usuario_por_token( Usuario(token_password=token)) if usuario is None: flash(u"El token no es valido para el cambio de contraseña.", 'error') return False return render_template('login/cambiar_contrasena.html', token=token)
def consulta_estudiante(self, codigo_e): usuario = Usuario(codigo=codigo_e) usuario_e = UsuarioDao().get_usuario_por_codigo(usuario) if usuario_e is None: flash("El codigo del estudiante no existe.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", usuario=usuario_u, tipoU=tipoU) usuario_p = Propuesta_UsuarioDao().get_propuesta_usuario( UsuarioPropuesta(id_estudiante=usuario_e.getId())) if usuario_p is None: flash("El estudiante no tiene trabajos.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", usuario=usuario_u, tipoU=tipoU) trabajoG = TrabajoGrado( id_propuesta=usuario_p.getId_propuesta().getId()) print trabajoG.getId_propuesta().getId() if TrabajoGradoDao().get_trabajo_Estudiante(trabajoG): trabajos = TrabajoGradoDao().get_trabajo_Estudiante(trabajoG) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", trabajos=trabajos, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Trabajos con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", usuario=usuario_u, tipoU=tipoU)
def get_view_nombreT(self): tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) print(usuario_u, 'usuario_u') return render_template("/coordinador/nombreT.html", usuario=usuario_u, tipoU=tipoU)
def login(self, codigo, contrasena): contrasena_c = hashlib.sha1(contrasena).hexdigest() usuario = Usuario(codigo=codigo, contrasena=contrasena_c) usuario_logueado = UsuarioDao().get_user_login(usuario) if usuario_logueado is not None: session['usuario'] = usuario_logueado.get_dict() else: flash("Los datos ingresados son incorrectos.", "error")
def login(self, codigo, contrasena, tipo): contrasena_c = hashlib.sha1(contrasena).hexdigest() usuario = Usuario(codigo=codigo, contrasena=contrasena_c, tipo_usuario=tipo) usuario_logueado = UsuarioDao().get_user_login(usuario) if usuario_logueado is not None: session['usuario'] = usuario_logueado.get_dict()
def cambiar_contrasena_olvidada(self, contrasena_1, contrasena_2, token): if contrasena_2 != contrasena_1: flash(u"Las contraseñas no coinciden.", "Error") return usuario = UsuarioDao().get_usuario_por_token( Usuario(token_password=token)) if usuario is None: flash(u"El token no es valido para el cambio de contraseña.", 'error') return usuario.setTokenPassword(None) usuario.setContrasena(hashlib.sha1(contrasena_1).hexdigest()) if UsuarioDao().cambiar_recordar_contrasena(usuario): flash(u"Contraseña actualizada correctamente.", 'success') else: flash(u"Error al cambiar la contraseña, intente nuevamente.", "error")
def consulta_nombreP(self, nombre): propuesta = Propuesta(titulo=nombre) if (PropuestaDao().get_propuesta_consultaN(propuesta)): propuestas = PropuestaDao().get_propuesta_consultaN(propuesta) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/nombreP.html", propuestas=propuestas, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Propuestas con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/nombreP.html", usuario=usuario_u, tipoU=tipoU)
def consulta_nombreT(self, nombre): trabajoG = TrabajoGrado(titulo=nombre) if (TrabajoGradoDao().get_trabajo_tituloT(trabajoG) is not None): trabajos = TrabajoGradoDao().get_trabajo_tituloT(trabajoG) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/nombreT.html", trabajos=trabajos, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Trabajos con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/nombreT.html", usuario=usuario_u, tipoU=tipoU)
def consulta_jurado(self, cod_jurado1): trabajoG = TrabajoGrado(cod_jurado1=cod_jurado1) if (TrabajoGradoDao().get_trabajo_Jurado(trabajoG)): trabajos = TrabajoGradoDao().get_trabajo_Jurado(trabajoG) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", trabajos=trabajos, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Trabajos con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/juradoEstudiante.html", usuario=usuario_u, tipoU=tipoU)
def editar_usuario(self, nombres, apellidos, cedula, email, tipo_usuario, id): usuario_e = Usuario(nombres=nombres, apellidos=apellidos, cedula=cedula, email=email, tipo_usuario=tipo_usuario, id=id) if UsuarioDao().editar_usuario(usuario_e): flash("El usuario se edito correctamente.", "success") else: flash("Error al editar el usuario.", "error") return redirect(url_for("usuarios.listar_usuarios"))
def get_view_asignar_jurado_trabajo(self): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) trabajos = TrabajoGradoDao().get_trabajos_sin_jurados() jurados = UsuarioDao().get_jurados(4) return render_template( "secretaria/trabajoGrado/AsignarJuradosTrabajo.html", trabajos=trabajos, jurados=jurados, usuario=usuario)
def get_view_asignar_jurado_propuesta(self): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuestas = PropuestaDao().get_propuesta_sin_jurado() jurados = UsuarioDao().get_jurados(4) return render_template( "secretaria/propuesta/AsignarJuradosPropuesta.html", propuestas=propuestas, jurados=jurados, usuario=usuario)
def consulta_actaC(self, fecha): acta = Acta(fecha=fecha) if (ActaDao().get_acta_fecha(acta)): actas = ActaDao().get_acta_fecha(acta) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/consultarA.html", actas=actas, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Actas con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/consultarA.html", usuario=usuario_u, tipoU=tipoU)
def consulta_cancelarP(self, nombre, estado): propuesta = Propuesta(titulo=nombre, estado=estado) propuesta_2 = PropuestaDao().get_propuesta_titulo(propuesta) if (propuesta_2 is not None): Propuesta_UsuarioDao().get_propuesta_cancelar(propuesta_2) flash("Actualiacion Exitosa", "success") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/cancelarP.html", usuario=usuario_u, tipoU=tipoU) else: flash("No existen Propuesta con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/cancelarP.html", usuario=usuario_u, tipoU=tipoU)
def consulta_estadoT(self, estado, trabajo_a): trabajoG = TrabajoGrado(estado=estado) if (TrabajoGradoDao().get_trabajo_estadoT(trabajoG, trabajo_a)): trabajos = TrabajoGradoDao().get_trabajo_estadoT( trabajoG, trabajo_a) tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/estadoT.html", trabajos=trabajos, usuario=usuario_u, tipoU=tipoU) else: flash("No existen Trabajos con esos parametros.", "error") tipoU = session['usuario']['tipo'] usuario_u = UsuarioDao().get_usuario_por_codigo( Usuario(codigo=session['usuario']['codigo'])) return render_template("/coordinador/estadoT.html", usuario=usuario_u, tipoU=tipoU)