示例#1
0
 def subir_entregable(self, file, id):
     from proyecto import UPLOAD_FOLDER
     filename = str(datetime.now().microsecond) + secure_filename(
         file.filename)
     file.save(os.path.join(UPLOAD_FOLDER, filename))
     propuesta_e = Propuesta_UsuarioDao().get_propuesta_usuario(
         UsuarioPropuesta(id_estudiante=id))
     if propuesta_e is None:
         flash("La propuesta no existe", "error")
         return redirect(url_for("estudiante.home"))
     pro = Propuesta_UsuarioDao().get_propuesta_codigo(
         UsuarioPropuesta(
             id_propuesta=propuesta_e.getId_propuesta().getId()))
     fecha = datetime.now().date()
     entregable_propuesta = Entregable_propuestaDao(
     ).get_entregable_propuesta(pro)
     entregable_propuesta.setFecha(fecha)
     entregable_propuesta.setEntregable(filename)
     if entregable_propuesta.getFecha_Entregable(
     ) > entregable_propuesta.getFecha():
         if Entregable_propuestaDao().subir_entregable(
                 entregable_propuesta):
             flash("se subio correctamente el archivo", "success")
             return redirect(url_for("estudiante.home"))
     else:
         flash("Ya excedio la fecha limite de presentar el entregable",
               "error")
         return redirect(url_for("estudiante.home"))
示例#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)
示例#3
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"))
示例#4
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())
        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)
示例#5
0
 def solicitar_retiro(self, file, id):
     from proyecto import UPLOAD_FOLDER
     filename = str(datetime.now().microsecond) + secure_filename(
         file.filename)
     file.save(os.path.join(UPLOAD_FOLDER, filename))
     propuesta_e = Propuesta_UsuarioDao().get_propuesta_usuario(
         UsuarioPropuesta(id_estudiante=id))
     if propuesta_e is None:
         flash("La propuesta no existe", "error")
         return redirect(url_for("estudiante.home"))
     pro = Propuesta_UsuarioDao().get_propuesta_codigo(UsuarioPropuesta(
         id_propuesta=propuesta_e.getId_propuesta().getId()))
     pro.getId_propuesta().setSolicitud_retiro(filename)
     if PropuestaDao().solicitar_retiro_propuesta(pro):
         flash("se subio correctamente el archivo", "success")
         return redirect(url_for("estudiante.home"))
示例#6
0
    def get_registrar_propuesta(self):
        tipo = session['usuario']['tipo']
        usuario = Usuario(nombres=session['usuario']['nombres'],
                          tipo_usuario=tipo)
        propuesta = Propuesta_UsuarioDao().get_propuesta_usuario(
            UsuarioPropuesta(id_estudiante=session['usuario']['id']))
        if propuesta is None:
            return render_template("estudiante/home.html",
                                   usuario=usuario,
                                   propuesta=propuesta)
        pro = Propuesta_UsuarioDao().get_propuesta_codigo(
            UsuarioPropuesta(id_propuesta=propuesta.getId_propuesta().getId()))

        return render_template("estudiante/home.html",
                               propuesta=pro,
                               estudiante=propuesta,
                               usuario=usuario)
示例#7
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)
示例#8
0
 def modificar_estado_propuesta(self, codigo_propuesta, estado):
     cod = session['usuario']['codigo']
     usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod)
     propuesta = Propuesta(id=codigo_propuesta, estado=estado)
     if (Propuesta_UsuarioDao().modificar_estado(propuesta)):
         flash("Se ha modificado exitosamente el estado.", "success")
         return render_template(
             "secretaria/propuesta/ConsultarPropuesta.html",
             usuario=usuario)
     else:
         flash("No se ha podido modificar el estado.", "error")
     return render_template("secretaria/propuesta/ConsultarPropuesta.html",
                            usuario=usuario)
示例#9
0
 def subir_entregable(self, file, id):
     from proyecto import UPLOAD_FOLDER
     filename = str(datetime.now().microsecond) + secure_filename(
         file.filename)
     file.save(os.path.join(UPLOAD_FOLDER, filename))
     propuesta_e = Propuesta_UsuarioDao().get_propuesta_usuario(
         UsuarioPropuesta(id_estudiante=id))
     if propuesta_e is None:
         flash("La propuesta no existe", "error")
         return redirect(url_for("estudiante.home"))
     pro = Propuesta_UsuarioDao().get_propuesta_codigo(UsuarioPropuesta(
         id_propuesta=propuesta_e.getId_propuesta().getId()))
     fecha = datetime.now().date()
     entregable_propuesta = Entregable_propuestaDao().get_entregable_propuesta(pro)
     entregable_propuesta.setFecha(fecha)
     entregable_propuesta.setEntregable(filename)
     if entregable_propuesta.getFecha_Entregable() > entregable_propuesta.getFecha():
         if Entregable_propuestaDao().subir_entregable(entregable_propuesta):
             flash("se subio correctamente el archivo", "success")
             return redirect(url_for("estudiante.home"))
     else:
         flash("Ya excedio la fecha limite de presentar el entregable", "error")
         return redirect(url_for("estudiante.home"))
示例#10
0
 def solicitar_prorroga(self, file, id):
     from proyecto import UPLOAD_FOLDER
     filename = str(datetime.now().microsecond) + secure_filename(
         file.filename)
     file.save(os.path.join(UPLOAD_FOLDER, filename))
     propuesta_e = Propuesta_UsuarioDao().get_propuesta_usuario(
         UsuarioPropuesta(id_estudiante=id))
     print(propuesta_e)
     if propuesta_e is None:
         flash("La propuesta no existe", "error")
         return redirect(url_for("estudiante.home"))
     pro = Propuesta_UsuarioDao().get_propuesta_codigo(UsuarioPropuesta(
         id_propuesta=propuesta_e.getId_propuesta().getId()))
     print(pro)
     pro.getId_propuesta().setSolicitud_prorroga(filename)
     print(pro.getId_propuesta().getSolicitud_prorroga())
     if PropuestaDao().solicitar_prorroga(pro):
         flash("se subio correctamente el archivo", "success")
         return redirect(url_for("estudiante.home"))
示例#11
0
 def agregar_datos_sustentacion(self, id_propuesta, lugar, fecha, hora):
     cod = session['usuario']['codigo']
     usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod)
     pro = Propuesta(id=id_propuesta)
     propuesta = PropuestaDao().get_propuesta_codigo(pro)
     trab = TrabajoGrado(titulo=propuesta.getTitulo(),
                         documentacion=propuesta.getDocumentacion(),
                         id_propuesta=id_propuesta,
                         fecha=propuesta.getFecha(),
                         lugar_sustentacion=lugar,
                         fecha_sustentacion=fecha,
                         hora_sustentacion=hora)
     if (TrabajoGradoDao().de_propuesta_a_trabajo_de_grado(trab)):
         Propuesta_UsuarioDao().desactivar_propuesta(id_propuesta)
         flash(
             "Se han agregado los datos y registrado Trabajo de Grado exitosamente",
             "success")
         return render_template("secretaria/home.html", usuario=usuario)
     else:
         flash("No se han podido agregar datos", "error")
     return render_template("secretaria/home.html", usuario=usuario)
示例#12
0
    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)
示例#13
0
 def registrar_propuesta(self, titulo, director, modalidad, file, id):
     from proyecto import UPLOAD_FOLDER
     filename = str(datetime.now().microsecond) + secure_filename(file.filename)
     file.save(os.path.join(UPLOAD_FOLDER, filename))
     fecha = datetime.now().date()
     propuesta = Propuesta(titulo=titulo, director_trabajo=director,
                           modalidad=modalidad, documentacion=filename,
                           fecha=fecha)
     propuest = PropuestaDao().get_propuesta_titulo(propuesta)
     if propuest is not None:
         flash("Ya existe una propuesta con ese titulo", "error")
         return self.get_registro_propuesta()
     if PropuestaDao().crear_propuesta(propuesta):
         pro = PropuestaDao().get_propuesta_titulo(propuesta)
         if Propuesta_UsuarioDao().crear_propuesta_usuario(pro, id):
             if Entregable_propuestaDao().crear_entregable_propuesta(pro):
                 flash("se creo la propuesta exitosamente.", "success")
                 return self.get_registrar_propuesta()
     else:
             flash("error al crear la propuesta", "error")
     return self.get_registro_propuesta()
示例#14
0
    def get_registrar_propuesta(self):
        tipo = session['usuario']['tipo']
        usuario = Usuario(nombres=session['usuario']['nombres'],
                          tipo_usuario=tipo)
        propuesta = Propuesta_UsuarioDao().get_propuesta_usuario(
            UsuarioPropuesta(id_estudiante=session['usuario']['id']))
        if propuesta is None:
            return render_template("estudiante/home.html", usuario=usuario,
                                   propuesta=propuesta)
        pro = Propuesta_UsuarioDao().get_propuesta_codigo(UsuarioPropuesta(
                    id_propuesta=propuesta.getId_propuesta().getId()))

        entregable_propuesta = Entregable_propuestaDao().get_entregable_propuesta(pro)
        if pro.getEstado() != 'Sustentacion':
            return render_template("estudiante/home.html", propuesta=pro,
                           estudiante=propuesta, entregable=entregable_propuesta,
                           usuario=usuario)
        else:
            trabajo = TrabajoGrado(id_propuesta=pro.getId())
            t= TrabajoGradoDao().get_trabajo_id_propuesta(trabajo)
            flash("Ya estan asiganadas las fechas de sustentacion", "success")
            return render_template("estudiante/home.html", propuesta=pro,
                                   estudiante=propuesta, usuario=usuario,
                                   trabajo=t, entregable=entregable_propuesta)