def create(): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') if not usuarioTienePermiso("CREAR_TALLER"): return redirect(url_for('pages_home')) Taller.db = get_db() res = Taller.create(request.form['nombre'], request.form['nombrecorto'], request.form['nucleo']) Taller.assign_ciclo(res['idInsertado'], request.form['ciclo']) if request.form['docente'] != "0": Taller.assign_docente(request.form['docente'], res['idInsertado']) Taller.db.commit() flash("El taller ha sido creado correctamente.", "success") if ('clid' in request.form.keys()): return ciclos.detalle() return redirect(url_for('listado_talleres'))
def detalle(): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') if not usuarioTienePermiso("DETALLE_TALLER"): return redirect(url_for('pages_home')) Taller.db = get_db() Clase.db = get_db() taller = Taller.get_detalle_taller(request.form['id']) alumnos = Taller.get_alumnos_taller(request.form['id']) docentes = Taller.get_docentes_taller(request.form['id']) clases = Clase.get_clases_by_taller(request.form['id']) mapeo = request.form['mapeo'] clid = request.form['clid'] Estudiante.db = get_db() Docente.db = get_db() alums = Estudiante.entaller_no_rep(request.form['id']) docs = Docente.entaller_no_rep(request.form['id']) return render_template('user/detalleTaller.html', taller=taller, alumnos=alumnos, docentes=docentes, docs=docs, alums=alums, clid=clid, mapeo=mapeo, clases=clases)
def getPanelTalleres(page): if auth.authenticated(): # or not auth.authenticated(): #Obtiene permisos del usuario User.db = get_db() Ciclo.db = get_db() Taller.db = get_db() permisos = User.get_permisos( session['id']) #Session user es el email unico del usuario if (page > Taller.total_paginas( site_controller.get_pagination())) or (not int(page) > 0): abort(404) lastpage = Taller.getLastPage(site_controller.get_pagination(), int(page)) talleres = Taller.all() ciclos = Ciclo.all() ciclotalleres = Taller.allCicloTallerPaginated( site_controller.get_pagination(), int(page)) return render_template('auth/panel_components/talleres.html', permisos=permisos, page=page, lastpage=lastpage, talleres=talleres, ciclos=ciclos, ciclotalleres=ciclotalleres) return redirect(url_for('auth_login'))
def storeTallerCiclo(): if not authenticated(session): abort(401) #Chequea permiso User.db = get_db() if (User.tiene_permiso(session['id'], 'administrativo_new')): if request.method == "POST" and forms.ValidateCicloTaller( request.form).validate(): Ciclo.db = get_db() Taller.db = get_db() if Ciclo.cicloNoTieneTaller(request.form): Taller.storeConTaller(request.form) flash("Se agrego el taller al ciclo lectivo correctamente", 'success') else: flash( "El taller ya esta asignado al ciclo lectivo seleccionado", 'error') else: flash( 'Verifica los campos obligatorios. No ingreses valores no permitidos', 'error') return redirect(url_for('panel_talleres')) else: abort(401)
def baja_docente(): Taller.db = get_db() Clase.db = get_db() res = Clase.get_clases_by_docente_taller(request.form['docid'], request.form['id']) if res['cantidadClases'] == 0: Taller.baja_docente(request.form['docid'], request.form['id']) flash("El docente ha sido removido correctamente.", "success") else: flash("El docente tiene clases asignadas y no puede removerse.", "danger") return detalle()
def set_estudiantes(): s_config = siteconfig.get_config() if not has_permission("taller_update", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) params = request.form.to_dict() params["estudiantes"] = request.form.getlist("modal_select_estudiantes") # TODO: created = Taller.set_estudiantes(params) op_response = dict() if created: op_response["msg"] = "Se ha establecido la relación" op_response["type"] = "success" else: op_response["msg"] = "Ha ocurrido un error al establecer la relación" op_response["type"] = "error" abort(make_response(jsonify(op_response), 422)) return make_response(jsonify(op_response), 200)
def taller_table(): s_config = siteconfig.get_config() if not has_permission("taller_index", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) talleres = Taller.all() return render_template("partials/tabs/talleres.html", talleres=talleres)
def deleteTallerCiclo(): if not authenticated(session): abort(401) #Chequea permiso User.db = get_db() if (User.tiene_permiso(session['id'], 'administrativo_destroy')): if request.method == "POST" and forms.ValidateCicloTaller( request.form).validate(): Taller.db = get_db() Taller.deleteTallerCiclo(request.form) flash("Se desasigno el taller del ciclo lectivo correctamente", 'success') else: flash( 'Verifica los campos obligatorios. No ingreses valores no permitidos', 'error') return redirect(url_for('panel_talleres')) else: abort(401)
def show(): User.db = get_db() permisos = User.misPermisos(session['id']) Taller.db = get_db() talleres = Taller.all() id_taller = request.args.get('id') taller = Taller.searchTaller(id_taller) Horario.db = get_db() horarios = Horario.searchHorariosTaller(id_taller) Dia.db = get_db() dias = Dia.all() Nucleo.db = get_db() nucleos = Nucleo.all() return render_template('taller/show.html', horarios=horarios, nucleos=nucleos, dias=dias, taller=taller, permisos=permisos)
def asignar(): permisos = User.misPermisos(session['id']) Ciclo.db = get_db() ciclos = Ciclo.all() Taller.db = get_db() talleres = Taller.all() return render_template('ciclo/asignarTaller.html', ciclos=ciclos, talleres=talleres, permisos=permisos)
def tallerConCiclo(): # User.db = get_db() permisos = User.misPermisos(session['id']) Taller.db = get_db() id_ciclo = request.args.get('id') talleres = Taller.obtenerConUnId(id_ciclo) return render_template('taller/index.html', talleres=talleres, permisos=permisos)
def get_talleres(): s_config = siteconfig.get_config() if not has_permission("taller_index", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) all_talleres = Taller.all() all_talleres = jsonify(all_talleres) return make_response(all_talleres, 200)
def delete(): Ciclo.db = get_db() Taller.db = get_db() Clase.db = get_db() Ciclo.db.autocommit = False Taller.db.autocommit = False #obtengo los talleres del cliclo talleresDelCiclo = Ciclo.get_talleres(request.form['hiddenEmailD']) #solo borro el ciclo si no tiene talleres # if (len(talleresDelCiclo) == 0): #ELIMINO TODAS LAS ASIGNACIONES DE TALLERES AL CICLO Ciclo.delete_clt(request.form['hiddenEmailD']) #ELIMINO LA ASIGNACIÓN DE ALUMNOS Y DOCENTES EN TALLERES ASOCIADOS AL CICLO for t in talleresDelCiclo: Taller.baja_alumnos(t['id']) Taller.baja_docentes(t['id']) Clase.desasignar(t['id']) Taller.delete(t['id']) #ELIMINO EL CICLO Ciclo.delete(request.form['hiddenEmailD']) Ciclo.db.commit() Taller.db.commit() flash("El ciclo ha sido borrado correctamente.","success") # else: # flash("El ciclo no puede ser borrado, asegúrese de que no tenga talleres asignados.","danger") return redirect(url_for('listado_ciclos'))
def usuarios_alumnos_talleres(): if not authenticated(session): abort(401) permisos = User.misPermisos(session['id']) # User.db=get_db() Taller.db = get_db() Estudiante.db = get_db() estudiantes = Estudiante.allEstudiantes() # docentes=User.docentes() talleres = Taller.all() return render_template('taller/asignarAlumnosTaller.html', alumnos=estudiantes, talleres=talleres, permisos=permisos)
def get_docentes_ciclo(): s_config = siteconfig.get_config() if not has_permission("docente_index", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) t_id = request.args.get("t_id") c_id = request.args.get("c_id") docentes = Taller.docentes_ciclo(t_id, c_id) if docentes is None: abort(404) return make_response(jsonify(docentes), 200)
def asistencia(): User.db = get_db() permisos = User.misPermisos(session['id']) id_horario = request.args.get('id') Horario.db = get_db() horario = Horario.searchHorario(id_horario) alumnos = Horario.alumnos_asignados(id_horario) id_taller = request.args.get('id_taller') taller = Taller.searchTaller(id_taller) #fechaActual = datetime.date.today() return render_template('horario/asistenciaEstudiantes.html', horario=horario, taller=taller, alumnos=alumnos, permisos=permisos, id_horario=id_horario)
def data(): s_config = siteconfig.get_config() if not has_permission("taller_show", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) id = request.args.get("id") if id: taller = Taller.find_by_id(id) if taller is not None: data = jsonify(taller) return make_response(data, 200) else: abort(422) else: abort(400)
def taller_set_ciclo_form(): s_config = siteconfig.get_config() if not has_permission("taller_update", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) talleres = Taller.all() ciclos = CicloLectivo.all() for ciclo in ciclos: ciclo["fecha_ini"] = ciclo["fecha_ini"].strftime("%d-%m-%Y") ciclo["fecha_fin"] = ciclo["fecha_fin"].strftime("%d-%m-%Y") return render_template( "user/actions/taller_asociar_ciclo.html", talleres=talleres, ciclos=ciclos )
def delete(): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') try: Taller.db = get_db() #valido que el docente no tenga talleres asignados talleres = Taller.get_talleres_con_clases_de_docente( request.form['hiddenDocId']) msj = "" if len(talleres) > 0: for t in talleres: msj = msj + t['nombre'] + ", " msj = "El docente actualmente dicta clases en el/los talleres: " + msj + "para eliminarlo desasignelo" flash(msj, "danger") else: Docente.db = get_db() Docente.db.autocommit = False # auxDocente = Docente.find_by_id(request.form['hiddenDocId']) # asTaller = Docente.asociado_A_Taller(auxDocente['id']) # if(len(asTaller) == 0): Docente.remove_docente_de_taller(request.form['hiddenDocId']) Docente.delete(request.form['hiddenDocId']) flash("Se eliminó con éxito", "success") # else: # flash("El docente se encuentra asociado a un taller", "danger") Docente.db.commit() return redirect(url_for('listado_docentes')) except Exception as e: flash(str(e), "danger") Docente.db.rollback() return redirect(url_for('listado_docentes'))
def get_ciclos(): s_config = siteconfig.get_config() if not has_permission("ciclolectivo_index", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) t_id = request.args.get("id") ciclos = Taller.ciclos(t_id) for ciclo in ciclos: ciclo["fecha_ini"] = ciclo["fecha_ini"].strftime("%d-%m-%Y") ciclo["fecha_fin"] = ciclo["fecha_fin"].strftime("%d-%m-%Y") if ciclos is None: abort(404) return make_response(jsonify(ciclos), 200)
def listado_talleres(params={"init": 0}, function=1, activo=None, nombre=''): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') if not usuarioTienePermiso("LISTADO_TALLERES"): return redirect(url_for('pages_home')) Pages.db = get_db() paginado = Pages.get_paginado() params['pag'] = int(paginado['cuerpo']) if request.method == 'POST' and 'init' in request.form.keys() and int( request.form['init']) >= 0: params['init'] = int(request.form['init']) filtro = '' if ('nombreFiltro' in request.form.keys()): if (request.form['nombreFiltro'] and request.form['nombreFiltro'].strip()): nombre = request.form['nombreFiltro'] function = 0 filtro = request.form['nombreFiltro'] Taller.db = get_db() users = Taller.listado(nombre) return render_template('user/listadoTalleres.html', users=users, params=params, nombreFiltro=nombre, function=function, filtro=filtro)
def update(): s_config = siteconfig.get_config() if not has_permission("taller_update", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session) ): abort(401) form = TallerForm() op_response = dict() if form.validate_on_submit(): params = request.form.to_dict() updated = Taller.update(params) if updated: op_response["msg"] = "Se ha modificado el taller con éxito" op_response["type"] = "success" else: op_response["msg"] = "Ha ocurrido un error al editar el taller" op_response["type"] = "error" abort(make_response(jsonify(op_response), 422)) else: if len(form.errors) >= 2: op_response["msg"] = "Complete todos los datos del taller a modificar" op_response["type"] = "error" else: error_msg = "".join(list(form.errors.values())[0]).strip("'[]") op_response["msg"] = error_msg op_response["type"] = "error" abort(make_response(jsonify(op_response), 400)) return make_response(jsonify(op_response), 200)
def agregar_docente(): Taller.db = get_db() Taller.assign_docente(request.form['docente'], request.form['id']) Taller.db.commit() flash("El docente ha sido agregado correctamente.", "success") return detalle()
def agregar_alumno(): Taller.db = get_db() Taller.assign_alumno(request.form['alumno'], request.form['id']) flash("El alumno ha sido agregado correctamente.", "success") return detalle()
def baja_alumno(): Taller.db = get_db() Taller.baja_alumno(request.form['alid'], request.form['id']) flash("El alumno ha sido removido correctamente.", "success") return detalle()