def get_propuesta_id(self, id_propuesta): try: query = "SELECT * FROM `propuesta` WHERE id = %s" param = (id_propuesta) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], entegrables=propuesta[7], estado=propuesta[8], documentacion=propuesta[9], modalidad=propuesta[10], solicitud_retiro=propuesta[11], solicitud_sustentacion=propuesta[12], solicitud_prorroga=propuesta[13], fecha_comentario=propuesta[14], fecha_correcciones=propuesta[15], fecha_entregables=propuesta[16], fecha=propuesta[17]) resultado.append(pro) return resultado except Exception as e: print e.message return []
def get_propuesta_codigo(self, usuarioP): try: query = "SELECT * FROM usuario_propuesta " \ "JOIN propuesta ON propuesta.id = usuario_propuesta.id_propuesta " \ "WHERE id_propuesta = %s " param = (usuarioP.getId_propuesta().getId(), ) self.__cur.execute(query, param) data = self.__cur.fetchone() if data is None: return None user = UsuarioPropuesta(id=data[0], id_estudiante=data[1], id_propuesta=data[2], estado=data[3]) propuesta = Propuesta(id=user.getId_propuesta().getId(), titulo=data[5], director_trabajo=data[6], documentacion=data[11], modalidad=data[12], fecha_correcciones=data[17], fecha=data[18]) user.setId_propuesta(propuesta) return user except Exception as e: print e.__class__, e.message return None
def get_propuesta_codigo(self, propuestaa): try: query = "SELECT * FROM propuesta WHERE id = %s" param = (propuestaa.getId(), ) self.__cur.execute(query, param) propuesta = self.__cur.fetchone() if propuesta is None: return None return Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], documentacion=propuesta[7], modalidad=propuesta[8], solicitud_retiro=propuesta[9], solicitud_sustentacion=propuesta[10], solicitud_prorroga=propuesta[11], fecha_comentario=propuesta[12], fecha_correcciones=propuesta[13], fecha=propuesta[14]) except Exception as e: print e.message return None
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_propuesta_solicitud_sustentacion(self): try: query = "SELECT * FROM propuesta WHERE `solicitud_sustentacion` IS NOT NULL" self.__cur.execute(query) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], documentacion=propuesta[7], modalidad=propuesta[8], solicitud_retiro=propuesta[9], solicitud_sustentacion=propuesta[10], solicitud_prorroga=propuesta[11], fecha_comentario=propuesta[12], fecha_correcciones=propuesta[13], fecha=propuesta[14]) resultado.append(pro) return resultado except Exception as e: print e.message return []
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 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 __init__(self, id=0, id_propuesta=0, entregable="", fecha_entregable="", fecha=""): self.__id = id self.__id_propuesta = Propuesta(id=id_propuesta) self.__entregable = entregable self.__fecha_entregable = fecha_entregable self.__fecha = fecha
def habilitar_envio_entregables(self, codigo_propuesta, entregable): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuesta = Propuesta(id=codigo_propuesta, entegrables=entregable) if (PropuestaDao().habilitar_envio_entregables(propuesta)): flash("Se han ingresado las fechas exitosamente.", "success") return render_template( "secretaria/propuesta/ConsultarPropuesta.html", usuario=usuario) else: flash("No se ha podido ingresar las fechas.", "error") return render_template("secretaria/propuesta/ConsultarPropuesta.html", usuario=usuario)
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)
def get_propuesta2(self, propuesta): try: query = "SELECT * FROM `propuesta` WHERE id = %s" param = (propuesta,) self.__cur.execute(query, param) data = self.__cur.fetchone() if data is None: return None return Propuesta(id=data[0], titulo=data[1], director_trabajo=data[2], comentario=data[7], estado=data[9], modalidad=data[11]) except Exception as e: print e.message return None
def consultar_propuesta(self, titulo, codigo): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuesta = Propuesta(id=codigo, titulo=titulo) propuestas = PropuestaDao().get_propuesta_consulta(propuesta) if (propuestas is not None): return render_template( "secretaria/propuesta/ConsultarPropuesta.html", propuestas=propuestas, usuario=usuario) else: flash("No existen Propuestas con esos parametros.", "error") return render_template("secretaria/propuesta/ConsultarPropuesta.html", usuario=usuario)
def get_propuesta_sin_jurado(self): try: query = "SELECT * FROM propuesta WHERE cod_jurado1 IS NULL OR cod_jurado2 IS NULL OR cod_jurado3 IS NULL " param = () self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1]) resultado.append(pro) return resultado except Exception as e: print e.message return []
def get_propuesta_titulo(self, propuesta): try: query = "SELECT * FROM propuesta WHERE titulo = %s" param = (propuesta.getTitulo(),) self.__cur.execute(query, param) data = self.__cur.fetchone() print data, 'data' if data is None: return None propuest = Propuesta(id=data[0], titulo=data[1], documentacion=data[7], modalidad=data[8], fecha=data[14]) return propuest except Exception as e: print e.__class__, e.message return None
def get_propuesta_consulta_jurado(self, jurado): try: query = "SELECT * FROM `propuesta` WHERE `cod_jurado1` = %s OR `cod_jurado2` =%s " \ "OR `cod_jurado3` =%s" param = (jurado.getCodigo(), jurado.getCodigo(), jurado.getCodigo()) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0],titulo=propuesta[1], fecha_comentario=propuesta[12],comentario=propuesta[6]) resultado.append(pro) return resultado except Exception as e: print e.message return []
def get_propuesta_consultaN(self, propuest): try: query = "SELECT * FROM `propuesta` WHERE titulo LIKE %s or titulo LIKE %s or titulo LIKE %s" param = (propuest.getTitulo() + "%", "%" + propuest.getTitulo() + "%", "%" + propuest.getTitulo()) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return None for propuesta in data: pro = Propuesta(titulo=propuesta[1], director_trabajo=propuesta[2],comentario=propuesta[6],fecha=propuesta[14], modalidad = propuesta[8]) resultado.append(pro) return resultado except Exception as e: print e.message return None
def get_propuesta_estado(self, propuesta): try: query = "SELECT * FROM `propuesta` WHERE estado = %s" param = (propuesta.getEstado(),) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return None for propuesta in data: pro = Propuesta(titulo=propuesta[1], director_trabajo=propuesta[2],comentario=propuesta[7],estado=propuesta[9], modalidad = propuesta[11]) resultado.append(pro) return resultado except Exception as e: print e.message return None
def get_propuesta_modalidadT(self, propuesta): try: query = "SELECT * FROM `propuesta` WHERE modalidad = %s" param = (propuesta.getModalidad(), ) self.__cur.execute(query, param) data = self.__cur.fetchall() print data, 'Data proues' resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], ) resultado.append(pro) return resultado except Exception as e: print e.message return []
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 modificar_fechas_propuesta(self, codigo_propuesta, fechaCorrecciones, fechaComentarios, fechaEntregables): cod = session['usuario']['codigo'] usuario = Usuario(nombres=session['usuario']['nombres'], codigo=cod) propuesta = Propuesta(id=codigo_propuesta, fecha_comentario=fechaComentarios, fecha_correcciones=fechaCorrecciones) entregable_propuesta = EntregablePropuesta( id_propuesta=codigo_propuesta, fecha_entregable=fechaEntregables) if PropuestaDao().modificar_fechas( propuesta) or Entregable_propuestaDao().modificar_fechas( entregable_propuesta): flash("Se han modificado las fechas exitosamente.", "success") return render_template( "secretaria/propuesta/ConsultarPropuesta.html", usuario=usuario) else: flash("No se ha podido modificar las fechas.", "error") return render_template("secretaria/propuesta/ConsultarPropuesta.html", usuario=usuario)
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)
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 __init__(self, codigo="", titulo="", id_propuesta=0, cod_jurado1="", cod_jurado2="", cod_jurado3="", correciones="", estado="", documentacion="", fecha_correcciones="", fecha_sustentacion="", lugar_sustentacion="", fecha="",nota="", hora_sustentacion=""): self.__codigo = codigo self.__titulo = titulo self.__id_propuesta = Propuesta(id=id_propuesta) self.__cod_jurado1 = cod_jurado1 self.__cod_jurado2 = cod_jurado2 self.__cod_jurado3 = cod_jurado3 self.__correciones = correciones self.__estado = estado self.__documentacion = documentacion self.__fecha_correcciones = fecha_correcciones self.__fecha_sustentacion = fecha_sustentacion self.__lugar_sustentacion = lugar_sustentacion self.__fecha = fecha self.__nota = nota self.__hora_sustentacion= hora_sustentacion
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()
def get_propuesta_consulta(self, propuest): if (propuest.getId() == "" and propuest.getTitulo() != ""): try: query = "SELECT * FROM propuesta WHERE titulo LIKE %s or titulo LIKE %s or titulo LIKE %s" param = (propuest.getTitulo() + "%", "%" + propuest.getTitulo() + "%", "%" + propuest.getTitulo()) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], entegrables=propuesta[7], estado=propuesta[8], documentacion=propuesta[9], modalidad=propuesta[10], solicitud_retiro=propuesta[11], solicitud_sustentacion=propuesta[12], solicitud_prorroga=propuesta[13], fecha_comentario=propuesta[14], fecha_correcciones=propuesta[15], fecha_entregables=propuesta[16], fecha=propuesta[17]) resultado.append(pro) return resultado except Exception as e: print e.message return [] elif propuest.getId() != "" and propuest.getTitulo() == "": try: query = "SELECT * FROM propuesta WHERE id LIKE %s or id LIKE %s or id LIKE %s" param = (propuest.getId() + "%", "%" + propuest.getId() + "%", "%" + propuest.getCodigo()) self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], entegrables=propuesta[7], estado=propuesta[8], documentacion=propuesta[9], modalidad=propuesta[10], solicitud_retiro=propuesta[11], solicitud_sustentacion=propuesta[12], solicitud_prorroga=propuesta[13], fecha_comentario=propuesta[14], fecha_correcciones=propuesta[15], fecha_entregables=propuesta[16], fecha=propuesta[17]) resultado.append(pro) return resultado except Exception as e: print e.message return [] elif (propuest.getId() != "" and propuest.getTitulo() != ""): try: print "entro " query = "SELECT * FROM propuesta WHERE titulo LIKE %s AND id LIKE %s or titulo LIKE %s AND id LIKE %s or " \ "titulo LIKE %s AND id LIKE %s or titulo LIKE %s AND id LIKE %s or titulo LIKE %s AND id LIKE %s or " \ "titulo LIKE %s AND id LIKE %s or titulo LIKE %s AND id LIKE %s or titulo LIKE %s AND id LIKE %s or " \ "titulo LIKE %s AND id LIKE %s" param = (propuest.getTitulo() + "%", propuest.getId() + "%", propuest.getTitulo() + "%", "%" + propuest.getId() + "%", propuest.getTitulo() + "%", "%" + propuest.getId(), "%" + propuest.getTitulo() + "%", propuest.getId() + "%", "%" + propuest.getTitulo() + "%", "%" + propuest.getId() + "%", "%" + propuest.getTitulo() + "%", "%" + propuest.getId(), "%" + propuest.getTitulo(), propuest.getId() + "%", "%" + propuest.getTitulo(), "%" + propuest.getId() + "%", "%" + propuest.getTitulo(), "%" + propuest.getId()) # propuest.getCodigo() + "%", "%" + propuest.getCodigo() + "%", "%" + propuest.getCodigo(), # propuest.getTitulo() + "%", "%" + propuest.getTitulo() + "%", "%" + propuest.getTitulo() self.__cur.execute(query, param) data = self.__cur.fetchall() resultado = list() if data is None: return [] for propuesta in data: pro = Propuesta(id=propuesta[0], titulo=propuesta[1], director_trabajo=propuesta[2], cod_jurado1=propuesta[3], cod_jurado2=propuesta[4], cod_jurado3=propuesta[5], comentario=propuesta[6], entegrables=propuesta[7], estado=propuesta[8], documentacion=propuesta[9], modalidad=propuesta[10], solicitud_retiro=propuesta[11], solicitud_sustentacion=propuesta[12], solicitud_prorroga=propuesta[13], fecha_comentario=propuesta[14], fecha_correcciones=propuesta[15], fecha_entregables=propuesta[16], fecha=propuesta[17]) resultado.append(pro) return resultado except Exception as e: print e.message return []
def __init__(self, id=0, id_estudiante=0, id_propuesta=0, estado=""): self.__id = id self.__id_estudiante = Usuario(id=id_estudiante) self.__id_propuesta = Propuesta(id=id_propuesta) self.__estado = estado