Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
 def get_lista_usuarios(self, pagina, codigo, nombres, cedula, apellidos,
                        tipoU):
     try:
         limit = 10
         offset = (pagina - 1) * limit
         query = "SELECT * FROM usuario " \
                 "JOIN tipo_usuario ON tipo_usuario.id = usuario.tipo_usuario " \
                 "WHERE tipo_usuario = %s AND codigo LIKE %s AND nombres " \
                 "LIKE %s AND cedula LIKE %s AND apellidos LIKE %s LIMIT %s " \
                 "OFFSET %s"
         param = (4, "%" + 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 []
Esempio n. 4
0
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
 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")
Esempio n. 7
0
    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 []
Esempio n. 8
0
    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"))
Esempio n. 9
0
    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"))
Esempio n. 10
0
    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)
Esempio n. 11
0
 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)
Esempio n. 12
0
 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)
Esempio n. 13
0
    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)
Esempio n. 14
0
 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)
Esempio n. 15
0
 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)
Esempio n. 16
0
 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)
Esempio n. 17
0
 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)
Esempio n. 18
0
 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)
Esempio n. 19
0
 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")
Esempio n. 20
0
 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)
Esempio n. 21
0
 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()
Esempio n. 22
0
    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)
Esempio n. 23
0
 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)
Esempio n. 24
0
 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)
Esempio n. 25
0
 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)
Esempio n. 26
0
 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)
Esempio n. 27
0
 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)
Esempio n. 28
0
 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)
Esempio n. 29
0
 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)
Esempio n. 30
0
 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)