def getPanelDocentesTaller(page): if auth.authenticated(): # or not auth.authenticated(): #Obtiene permisos del usuario User.db = get_db() Ciclo.db = get_db() Docente.db = get_db() permisos = User.get_permisos( session['id']) #Session user es el email unico del usuario if (page > Docente.total_paginas_taller( site_controller.get_pagination())) or (not int(page) > 0): abort(404) lastpage = Docente.getLastPageDocenteTaller( site_controller.get_pagination(), int(page)) ciclotalleres = Ciclo.allCicloTaller() docentes = Docente.all() docente_responsable_taller = Docente.allDocenteTallerPaginated( site_controller.get_pagination(), int(page)) return render_template( 'auth/panel_components/docentes_taller.html', permisos=permisos, page=page, lastpage=lastpage, ciclotalleres=ciclotalleres, docentes=docentes, docente_responsable_taller=docente_responsable_taller) return redirect(url_for('auth_login'))
def listadoDocentes(): if 'email' not in session or not any(i in ['administrador', 'docente'] for i in session['roles']): return redirect(url_for("accesoDenegado")) tabla = configuracion.get_config() if tabla.sitio_habilitado == 0: return redirect(url_for("mantenimiento")) lista = Docente.notDeletedAll() eliminados = Docente.deletedAll() try: dnis = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento" ) localidades = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad" ) tiposDNI = json.loads(dnis.text) listaLoc = json.loads(localidades.text) except requests.exceptions.ConnectionError: flash('hubo un error al traer datos de los dnis y/o localidades :(') return redirect(url_for('index')) return render_template( "/docente/listadoDocentes.html", lista=lista, cant=tabla.cantListar, generos=Genero.get_all(), dnis=tiposDNI, localidades=listaLoc, eliminados=eliminados, )
def delete(id_data): if not authenticated(session): abort(401) #Chequea permiso User.db = get_db() if (User.tiene_permiso(session['id'], 'docente_destroy')): Docente.db = get_db() Docente.delete(id_data) flash("Se eliminó el docente correctamente", 'success') return redirect(url_for('panel_docentes')) else: abort(401)
def data(): s_config = siteconfig.get_config() if not has_permission("docente_show", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) id = request.args.get("id") if id: docente = Docente.find_by_id(id) if docente is not None: docente["fecha_nac"] = datetime.strftime(docente["fecha_nac"], "%d/%m/%Y") usuario_id = docente["usuario_id"] if usuario_id: user = User.find_by_id(usuario_id) docente["username"] = user["username"] data = jsonify(docente) return make_response(data, 200) else: abort(422) else: abort(400)
def destroy(): s_config = siteconfig.get_config() if not has_permission("docente_destroy", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) params = json.loads(request.data) d_id = params["id"] activo = params["activo"] success = Docente.delete(d_id) op_response = dict() if success: condicion = "bloqueado" if activo else "activado" op_response["msg"] = "Se ha " + condicion + " al docente exitosamente" op_response["type"] = "success" else: condicion = "bloquear" if activo else "activar" op_response["msg"] = "El docente a " + condicion + " no existe" op_response["type"] = "error" make_response(jsonify(op_response), 422) return make_response(jsonify(op_response), 204)
def update(): if not authenticated(session): abort(401) #Chequea permiso User.db = get_db() if (User.tiene_permiso(session['id'], 'docente_update')): if request.method == "POST" and forms.ValidateDocente( request.form).validate(): Docente.db = get_db() Docente.update(request.form) flash("Se actualizó el docente correctamente", 'success') else: flash( 'Verifica los campos obligatorios. No ingreses valores no permitidos', 'error') return redirect(url_for('panel_docentes'))
def getPanelHorario(): if auth.authenticated(): #Obtiene permisos del usuario User.db = get_db() if (User.tiene_permiso(session['id'], 'horario_index')): permisos = User.get_permisos( session['id']) #Session user es el email unico del usuario #Obtiene informacion del sitio (Estado y paginacion) Horario.db = get_db() horarios = Horario.all() Clase.db = get_db() clases = Clase.all() Nucleo.db = get_db() nucleos = Nucleo.all() Docente.db = get_db() docente_responsable_taller = Docente.allDocenteTaller() return render_template( 'auth/panel_components/clases.html', permisos=permisos, horarios=horarios, clases=clases, nucleos=nucleos, docente_responsable_taller=docente_responsable_taller) else: abort(401) else: return redirect(url_for('auth_login'))
def getPanelEstudiantesDocentes(page): if auth.authenticated(): # or not auth.authenticated(): #Obtiene permisos del usuario User.db = get_db() Student.db = get_db() permisos = User.get_permisos( session['id']) #Session user es el email unico del usuario if (page > Student.total_paginas_taller( site_controller.get_pagination())) or (not int(page) > 0): abort(404) lastpage = Student.getLastPageTaller(site_controller.get_pagination(), int(page)) Docente.db = get_db() docente_responsable_taller = Docente.allDocenteTaller() estudiantes_talleres = Student.allEstudianteTallerPaginated( site_controller.get_pagination(), int(page)) estudiantes = Student.all() return render_template( 'auth/panel_components/alumnos_docentes.html', permisos=permisos, page=page, lastpage=lastpage, docente_responsable_taller=docente_responsable_taller, estudiantes_talleres=estudiantes_talleres, estudiantes=estudiantes) return redirect(url_for('auth_login'))
def collect_data_serverside(req): docentes = Docente.all_table() columns = table_schemas.SERVERSIDE_DOCENTE_TABLE_COLUMNS return DocentesServerSideTable(req, docentes, columns).output_result()
def actualizarDocente(dni): if 'email' not in session or not any(i in ['administrador', 'docente', 'preceptor'] for i in session['roles']): return redirect(url_for("accesoDenegado")) p = request.form Docente.actualizar( dni, p["apellido"], p["nombre"], p["fechaN"], p["localidad"], p["domicilio"], p["genero"], p["tipoD"], p["telefono"], ) flash('docente actualizado con exito!') return redirect(url_for('listadoDocentes'))
def deleteDocenteTaller(): 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.ValidateDocenteTallerDelete( request.form).validate(): Docente.db = get_db() Docente.deleteDocenteTaller(request.form) flash("Se desasigno el docente del taller correctamente", 'success') else: flash( 'Verifica los campos obligatorios. No ingreses valores no permitidos', 'error') return redirect(url_for('panel_docentes_taller')) else: abort(401)
def crearDocente(): if 'email' not in session or not any(i in ['administrador', 'docente'] for i in session['roles']): return redirect(url_for("accesoDenegado")) p = request.form if Docente.getByDNI(p['numero']) is not None: flash('ya existe un docente con ese numero de documento!') return redirect(url_for('listadoDocentes')) else: Docente.create( p["apellido"], p["nombre"], p["fechaN"], p["localidad"], p["domicilio"], p["genero"], p["tipoD"], p["numero"], p["telefono"], ) return redirect(url_for("listadoDocentes"))
def storeDocenteTaller(): 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.ValidateDocenteTaller( request.form).validate(): Docente.db = get_db() if Docente.tallerNoTieneDocente(request.form): Docente.storeDocenteTaller(request.form) flash("Se agrego el taller al ciclo lectivo correctamente", 'success') else: flash( "El docente ya esta asignado al taller para el ciclo lectivo seleccionado", 'error') else: flash( 'Verifica los campos obligatorios. No ingreses valores no permitidos', 'error') return redirect(url_for('panel_docentes_taller')) else: abort(401)
def update(): s_config = siteconfig.get_config() if not has_permission("docente_update", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) # Validación - Fill choices choices = forms_docente.choices() form = DocenteForm(choices) op_response = dict() if form.validate_on_submit(): params = request.form.to_dict() if "username" in params: user = User.find_by_user(params["username"]) if user: params["usuario_id"] = user["id"] params["fecha_nacimiento"] = datetime.strptime( params["fecha_nacimiento"], "%d/%m/%Y").date() updated = Docente.update(params) if updated: op_response["msg"] = "Se ha modificado al docente con éxito" op_response["type"] = "success" else: op_response["msg"] = "Ha ocurrido un error al editar al docente" 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 docente 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 getPanelDocentes(page): if auth.authenticated(): #g.user = session['user'] #En la documentación no detallaban el por qué de esta lína, pero sí que era necesaria para las paginas restringidas #Obtiene permisos del usuario User.db = get_db() permisos = User.get_permisos(session['id']) #Obtiene docentes Docente.db = get_db() lastpage = 1 #Si se envia una pagina inexistente se aborta if (page > Docente.total_paginas( site_controller.get_pagination())) or (not int(page) > 0): abort(404) #Chequea si hubo busquedas #Se buscó solo nombre if forms.searchByFirstName(request.args).validate(): docentes = Docente.searchByFirstName( request.args.get('solo_nombre')) #Se buscó solo apellido elif forms.searchByLastName(request.args).validate(): docentes = Docente.searchByLastName( request.args.get('solo_apellido')) elif forms.searchByBoth(request.args).validate(): #Se buscó ambos docentes = Docente.searchByBoth(request.args.get('ambos_nombre'), request.args.get('ambos_apellido')) #No hubo busqueda else: docentes = Docente.allPaginated(site_controller.get_pagination(), int(page)) #Ultima pagina de paginado lastpage = Docente.getLastPage(site_controller.get_pagination(), int(page)) #Obtiene generos Genero.db = get_db() generos = Genero.all() #Obtiene la información de las apis localidades = getLocalidades() tipo_docs = getDocumentos() #Retorna el template return render_template('auth/panel_components/docentes.html', permisos=permisos, nombre=session['nombre'], apellido=session['apellido'], localidades=localidades, tipo_docs=tipo_docs, generos=generos, docentes=docentes, page=page, lastpage=lastpage) return redirect(url_for('auth_login'))
def taller_set_docentes_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) ciclos = CicloLectivo.all() docentes = Docente.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_docentes.html", ciclos=ciclos, docentes=docentes )
def administracion(): ciclos = CicloLectivo.all() docentes = Docente.all() estudiantes = Estudiante.all() nucleos = Nucleo.all() dias = Dia.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/moduloadministrativo.html", ciclos=ciclos, docentes=docentes, estudiantes=estudiantes, nucleos=nucleos, dias=dias # username=user["username"], )