def home(): rc = RepositorioCurso() general = rc.get_general() if general[3]: return render_template("index.html", mensaje=None, hay_repo=True) else: return render_template("index.html", mensaje=None, hay_repo=False)
def update(id_curso): rc = RepositorioCurso() if request.method == "GET": curso = rc.get_one(int(id_curso)) if not curso: return "Error: curso no encontrado. id_curso: " + str(id_curso) form = FlaskForm() return render_template("nuevo_curso.html", mensaje=None, form=form, curso=curso) else: # Capturar los datos del request id_c = request.form["id_curso"] anio = request.form["anio"] division = request.form["division"] descripcion = request.form["descripcion"] curso = Curso(id_c, anio, division, descripcion) #HACER EL UPDATE if rc.update(curso): mensaje = "Datos del curso modificados" else: mensaje = "Error al modificar los datos del curso" #Redirigir a cursos: return redirect(url_for('cursos', mensaje=mensaje))
def cursos(): if request.args.get("mensaje"): mensaje = request.args.get("mensaje") else: mensaje = None rc = RepositorioCurso() cursos = rc.get_all() form = FlaskForm() return render_template("cursos.html", mensaje=mensaje, cursos=cursos, form=form)
def subir(): import subprocess rc = RepositorioCurso() general = rc.get_general() if general[2] and general[3] and general[4]: x = subprocess.run(["./publicador.sh", general[3], general[4]], stdout=subprocess.PIPE, encoding="utf-8") flash(x.stdout) return redirect(url_for('home')) else: flash("Error: sin mail, usuario o contraseña para subir el sitio") return redirect(url_for('home'))
def delete(id_curso): # Hace el delete, verificando antes que no tenga materias guardadas rc = RepositorioCurso() if rc.cuantas_materias(id_curso) == 0: if rc.delete(id_curso): mensaje = "Curso eliminado" else: mensaje = "Error al eliminar el curso" else: mensaje = "Error: el curso tiene materias asignadas" #Redirigir a cursos: return redirect(url_for('cursos', mensaje=mensaje))
def general(): if request.method == "GET": rc = RepositorioCurso() general = rc.get_general() if not general: return "Error: datos no encontrados." form = FlaskForm() return render_template("general.html", form=form, general=general) else: # Capturar los datos del request nombre = request.form["nombre"] numero = request.form["numero"] mail = request.form["mail"] tipo_hosting = request.form["tipo_hosting"] if tipo_hosting == "github": usuario = request.form["usuario_github"] clave = request.form["clave_github"] #HACER EL UPDATE rc = RepositorioCurso() if tipo_hosting == "github": if rc.actualizar_general(nombre, numero, mail, usuario, clave): mensaje = "Datos de la escuela y el proyecto modificados" else: mensaje = "Error al modificar los datos de la escuela" else: if rc.actualizar_general(nombre, numero, mail): mensaje = "Datos de la escuela modificados" else: mensaje = "Error al modificar los datos de la escuela" #Redirigir a cursos: return redirect(url_for('home', mensaje=mensaje))
def materias(id_curso=None): rc = RepositorioCurso() cursos = rc.get_all() if request.args.get("mensaje"): mensaje = request.args.get("mensaje") else: mensaje = None rm = RepositorioMateria() if id_curso and int(id_curso) > 0: materias = rm.get_all_curso(id_curso) curso = rc.get_one(id_curso) else: materias = rm.get_all() curso = None form = FlaskForm() return render_template("materias.html", mensaje=mensaje, materias=materias, form=form, cursos=cursos, curso=curso)
def create(): if request.method == "GET": form = FlaskForm() return render_template("nuevo_curso.html", form=form, mensaje=None, curso=None) else: # Capturar los datos del request anio = request.form["anio"] division = request.form["division"] descripcion = request.form["descripcion"] curso = Curso(None, anio, division, descripcion) #GUARDAR EL NUEVO CURSO rc = RepositorioCurso() id_curso = rc.create(curso) if id_curso: mensaje = "Curso creado correctamente" else: mensaje = "Error al crear el curso" #Redirigir a cursos: return redirect(url_for('cursos', mensaje=mensaje))
def update_materia(id_materia): rm = RepositorioMateria() rc = RepositorioCurso() if request.method == "GET": cursos = rc.get_all() materia = rm.get_one(int(id_materia)) if not materia: return "Error: materia no encontrada. id_materia: " + str( id_materia) form = FlaskForm() return render_template("nueva_materia.html", mensaje=None, form=form, materia=materia, cursos=cursos) else: # Capturar los datos del request idm = request.form["id_materia"] nombre = request.form["nombre"] id_curso = request.form["curso"] docente = request.form["docente"] mail = request.form["mail"] if request.form.get("sticky"): sticky = True else: sticky = False if request.form.get("cambiar_logo"): logo = request.form["logo"] else: logo = None rc = RepositorioCurso() curso = rc.get_one(id_curso) materia = Materia(idm, nombre, curso, logo, sticky, docente, mail) #HACER EL UPDATE if materia.logo: resultado = rm.update(materia) else: resultado = rm.update(materia, cambiar_logo=False) if resultado: mensaje = "Datos de la materia modificados" else: mensaje = "Error al modificar los datos de la materia" #Redirigir a cursos: return redirect(url_for('materias', mensaje=mensaje))
def create_materia(curso=None): if request.method == "GET": form = FlaskForm() rc = RepositorioCurso() cursos = rc.get_all() return render_template("nueva_materia.html", form=form, mensaje=None, materia=None, cursos=cursos, curso=curso) else: # Capturar los datos del request nombre = request.form["nombre"] id_curso = request.form["curso"] docente = request.form["docente"] mail = request.form["mail"] if request.form.get("sticky"): sticky = True else: sticky = False logo = request.form["logo"] rc = RepositorioCurso() curso = rc.get_one(id_curso) materia = Materia(None, nombre, curso, logo, sticky, docente, mail) #GUARDAR EL NUEVO CURSO rm = RepositorioMateria() id_materia = rm.create(materia) if id_materia: mensaje = "Materia creada correctamente" else: mensaje = "Error al crear la materia" #Redirigir a cursos: flash(mensaje) return materias(id_curso)
def create_materia_curso(id_curso): rc = RepositorioCurso() c = rc.get_one(id_curso) return create_materia(c)