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 crear_usuario(self, cedula, nombre, apellido, genero, email, barrio, direccion, fecha_nacimiento, telefono, contrasena): contrasena_c = hashlib.sha1(contrasena).hexdigest() usuario = Usuario(cedula=cedula, nombre=nombre, apellido=apellido, genero=genero, email=email, barrio=barrio, direccion=direccion, fecha_nacimiento=fecha_nacimiento, telefono=telefono, contrasena=contrasena_c) if UsuarioDao().get_usuario_por_email(usuario) is not None: flash("Ya existe un usuario con el email {}.".format( usuario.getEmail()), "error") return render_template("usuarios/registro.html") if UsuarioDao().crear_usuario(usuario): mensaje = "BIENVENIDO A EMERGENCY PETS:\ Aqui podras registrar" \ "tu mascota y tener un control con las emergencias que" \ "presente." if EmailController().enviar_email(usuario.getEmail(), mensaje, "Registro Existoso - EmergencyPets"): flash("El usuario se creo correctamente.", "success") return render_template("login/login.html") else: flash("Error al registrar el usuario.", "error") return redirect(url_for("login.get_home"))
def get_lista_usuarios(self, pagina, codigo, nombres, cedula, apellidos): try: limit = 10 offset = (pagina - 1) * limit query = "SELECT * FROM usuario " \ "JOIN tipo_usuario ON tipo_usuario.id = usuario.tipo_usuario " \ "WHERE codigo LIKE %s AND nombres LIKE %s AND cedula " \ "LIKE %s AND apellidos LIKE %s LIMIT %s OFFSET %s" param = ("%"+codigo+"%","%"+nombres+"%", "%"+cedula+"%", "%"+apellidos+"%", limit, offset) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for usuario in data: user = Usuario(id=usuario[0], codigo=usuario[1], cedula=usuario[2], contrasena=usuario[3], nombres=usuario[4], apellidos=usuario[5], email=usuario[6]) tipo_usuario = TipoUsuario( id=usuario[8], label=usuario[10], nombre=usuario[9]) user.setTipoUsuario(tipo_usuario) resultado.append(user) return resultado except Exception as e: print e.message return []
def get_view_agregar_fechas_trabajo(self, codigo_trabajo): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) trabajo = TrabajoGradoDao().get_trabajo_codigo(codigo_trabajo) return render_template("secretaria/trabajoGrado/AgregarFechas.html", trabajo=trabajo, usuario=usuario)
def get_view_registrar_nota(self, codigo_trabajo): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) trabajo = TrabajoGradoDao().get_trabajo_codigo(codigo_trabajo) return render_template("secretaria/trabajoGrado/RegistrarNota.html", trabajo=trabajo, usuario=usuario)
def crear_acta(self, titulo, tipo, fecha, file, descripcion): from proyecto import UPLOAD_FOLDER filename = str(datetime.now().microsecond) + secure_filename( file.filename) file.save(os.path.join(UPLOAD_FOLDER, filename)) cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) acta = Acta(titulo=titulo, tipo=tipo, fecha=fecha, archivo=filename, descripcion=descripcion) if (ActaDao().get_acta_titulo(acta) != None): flash( "Ya existe un acta con ese titulo {}.".format( acta.getTitulo()), "error") return render_template("secretaria/acta/RegistrarActa.html", usuario=usuario) if (ActaDao().crear_acta(acta)): flash("El acta se registro correctamente.", "success") else: flash("Error al registrar el acta.", "error") return render_template("secretaria/acta/RegistrarActa.html", usuario=usuario)
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 get_protocolos(self): protocolos= ProtocoloDao().get_protocolos() tipo = session['usuario']['tipo'] usuario = Usuario(nombres=session['usuario']['nombres'], tipo_usuario=tipo) return render_template("/estudiante/protocolos.html", usuario=usuario, protocolos=protocolos)
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 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 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 get_modificar(self, titulo): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) act = Acta(titulo=titulo, tipo="<-- No Selected -->") acta = ActaDao().get_acta_consulta(act) return render_template("secretaria/acta/ModificarActa.html", acta=acta, usuario=usuario)
def get_modificar_estado_propuesta(self, codigo_propuesta): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuest = Propuesta(id=codigo_propuesta) propuesta = PropuestaDao().get_propuesta_codigo(propuest) return render_template("secretaria/propuesta/ModificarEstado.html", propuesta=propuesta, usuario=usuario)
def get_agregar_fechas_propuesta(self, codigo_propuesta): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuest = Propuesta(id=codigo_propuesta) propuesta = PropuestaDao().get_propuesta_codigo(propuest) return render_template("secretaria/propuesta/AgregarFechas.html", propuesta=propuesta, usuario=usuario)
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 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 get_view_agregar_datos_sustentacion_propuesta(self, id_propuesta): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuestaa = Propuesta(id=id_propuesta) propuesta = PropuestaDao().get_propuesta_codigo(propuestaa) return render_template( "secretaria/trabajoGrado/AgregarDatosSustentacion.html", propuesta=propuesta, usuario=usuario)
def get_habilitar_envio_entregables(self, codigo_propuesta): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuest = Propuesta(id=codigo_propuesta) propuesta = PropuestaDao().get_propuesta_codigo(propuest) return render_template( "secretaria/propuesta/HabilitarEnvioEntregables.html", propuesta=propuesta, usuario=usuario)
def consultar_trabajo_de_grado(self, titulo, codigo): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) trabaj = TrabajoGrado(titulo=titulo, codigo=codigo) trabajos = TrabajoGradoDao().consultar_trabajos(trabaj) return render_template( "secretaria/trabajoGrado/ConsultarTrabajoGrado.html", trabajos=trabajos, usuario=usuario)
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 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 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 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_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 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 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 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 get_descarga(self, titulo, tipo, fecha): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) acta = Acta(titulo=titulo, tipo=tipo, fecha=fecha) if (ActaDao.get_acta_consulta(acta) is not None): actas = ActaDao.get_acta_consulta(acta) return render_template( "secretaria/acta/Descargar-ModificarActa.html", actas=actas) else: flash("No existen Actas con esos parametros.", "error") return render_template("secretaria/acta/Descargar-ModificarActa.html")
def get_editar_usuario(self, id_usuario): usuario = Usuario(id=id_usuario) usuario_e = UsuarioDao().get_usuario_id(usuario.getId()) usuario_edit = { 'nombre': usuario_e.getNombre(), 'apellido': usuario_e.getApellido(), 'genero': usuario_e.getGenero(), 'telefono': usuario_e.getTelefono(), 'fecha_nacimiento': usuario_e.getFecha_nacimiento(), 'barrio': usuario_e.getBarrio(), 'direccion': usuario_e.getDireccion(), 'cedula': usuario_e.getCedula(), 'email': usuario_e.getEmail() } if usuario_e is None: flash("El usuario que intenta editar no existe.", "error") return render_template( "usuarios/editar.html", usuario_edit=usuario_edit, id=id_usuario, usuario=usuario_e)
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 crear_usuario_estudiante(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") return render_template( "login/registro.html", usuario=usuario_error) if UsuarioDao().crear_usuario(usuario): flash("El usuario se creo correctamente.", "success") else: flash("Error al registrar el usuario.", "error") return redirect(url_for("login.get_home"))
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 get_view_agregar_datos_sustentacion(self): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuestass = PropuestaDao().get_propuesta_solicitud_sustentacion() propuestas = list() for propuesta in propuestass: if PropuestaDao().verificar_propuesta_activa(propuesta): propuestas.append(propuesta) return render_template( "secretaria/trabajoGrado/VerPropuestasSolicitudes.html", propuestas=propuestas, usuario=usuario)
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)
def crear_usuario(self, cedula, nombre, apellido, genero, email, barrio, direccion, fecha_nacimiento, telefono, contrasena): contrasena_c = hashlib.sha1(contrasena).hexdigest() usuario = Usuario(cedula=cedula, nombre=nombre, apellido=apellido, genero=genero, email=email, barrio=barrio, direccion=direccion, fecha_nacimiento=fecha_nacimiento, telefono=telefono, contrasena=contrasena_c) if UsuarioDao().get_usuario_por_email(usuario) is not None: flash("Ya existe un usuario con el email {}.".format( usuario.getEmail()), "error") return render_template("usuarios/registro.html") if UsuarioDao().crear_usuario(usuario): print "crea el usuario" flash("El usuario se creo correctamente.", "success") return render_template("login/login.html") else: flash("Error al registrar el usuario.", "error") return redirect(url_for("login.get_home"))
def listar_jurados(self, usuario): try: query= "SELECT * FROM usuario WHERE tipo_usuario=%s" param = (int(usuario.getTipoUsuario().getId()),) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for jurado in data: user = Usuario(id=jurado[0], codigo=jurado[1], cedula=jurado[2], contrasena=jurado[3], nombres=jurado[4], apellidos=jurado[5], email=jurado[6]) tipo_usuario = TipoUsuario(id=jurado[8], label=jurado[10], nombre=jurado[9]) user.setTipoUsuario(tipo_usuario) resultado.append(user) return resultado except Exception as e: print(e.message) return []