def list(page,permiso='administration_index'): if current_user.have_permissions(permiso): page = page conf = Configurations.query.first() instruments = Instrument.query.filter_by() msg_query = None if request.method == 'POST': form = dict(request.form) instrument_name = form.get('instrument_name') inventory_number = form.get('inventory_number') if instrument_name or inventory_number: instruments = Instrument.query.filter( or_( Instrument.name == instrument_name, Instrument.inventory_number == inventory_number ) ) if not instruments.all(): msg_query = "No se encontraron resultados" instruments = instruments.paginate(page, conf.offset_paginator, False) return render_template( 'instruments/list.html', instruments=instruments, msg_query=msg_query ) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def update(instrument_id,permiso='administration_update'): if current_user.have_permissions(permiso): instrument = Instrument.query.filter_by(id=instrument_id).first_or_404() form = CreateInstrumentsForm(request.form) if request.method == "POST": if request.files["image"].filename: image = request.files["image"] if image.filename == '': return redirect(request.url) if not allowed_file(image.filename): return redirect(request.url) else: image_name = secure_filename(image.filename) image.save(os.path.join(UPLOAD_IMAGES_FOLDER[0], image_name)) try: os.remove('%s/flaskps' % BASE_DIR+instrument.img_path) except Exception as e: pass img_path = IMG_PATH+image_name else: img_path = instrument.img_path if form.validate(): instrument.update(form, img_path) return redirect(url_for('instruments.detail', instrument_id=instrument.id)) return render_template('instruments/edit.html', instrument=instrument, form=form), 200 else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def create(permiso='administration_new'): """ metodo GET: renderiza form de reacion metodo POST: verifica los datos y crea usuaraio """ if current_user.have_permissions(permiso): form = CreateInstrumentsForm(request.form) if request.method == 'POST' and form.validate(): if request.files: image = request.files["image"] if image.filename == '': return redirect(request.url) if not allowed_file(image.filename): return redirect(request.url) else: image_name = secure_filename(image.filename) image.save(os.path.join(UPLOAD_IMAGES_FOLDER[0], image_name)) img_path= IMG_PATH+image_name instrument = Instrument.create(form,img_path) return redirect(url_for('instruments.detail',instrument_id=instrument.id)) return render_template('instruments/create.html', form=form) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def detail(instrument_id,permiso='administration_show'): if current_user.have_permissions(permiso): instrument = Instrument.query.filter_by(id=instrument_id).first_or_404() return render_template('instruments/detail.html', instrument=instrument) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def delete(student_id, permiso='students_destroy'): if current_user.have_permissions(permiso): Students.delete(student_id) return redirect('/students/list') else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def delete(instrument_id, permiso='administration_destroy'): if current_user.have_permissions(permiso): Instrument.delete(instrument_id) return redirect(url_for('instruments.list')) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def delete(user_id, permiso='user_destroy'): if current_user.have_permissions(permiso): User.delete(user_id) return redirect(url_for('users.list')) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def create(permiso='user_new'): """ Si los datos son validos crea un nuevo usuario """ if current_user.have_permissions(permiso): form = CreateFormUser(request.form) if request.method == 'POST': if form.validate(): user = User.query.filter( or_( User.username == form.username.data, User.email == form.email.data, )).all() if user: msg = "Error al crear usuario: Email o Nombre de usuario ya existente" return render_template('users/create_user.html', msg=msg, form=form), 403 user = User.create(form) return redirect(url_for('users.detail', user_id=user.id)) return render_template('users/create_user.html', form=form) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def detail(user_id, permiso='user_show'): if current_user.have_permissions(permiso): user = User.query.filter_by(id=user_id).first_or_404() return render_template('users/detail.html', user=user) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def school_year_delete(school_year_id, permiso='administration_destroy'): if current_user.have_permissions(permiso): sy = SchoolYear.query.filter_by(id=school_year_id).first_or_404() sy.delete() return redirect('/school-year/list') else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def school_year_detail(school_year_id, permiso='administration_show'): if current_user.have_permissions(permiso): school_year = SchoolYear.query.filter_by(id=school_year_id).first_or_404() teachers = Teachers.query.all() return render_template( 'administration/school_year_detail.html', school_year=school_year, teachers=teachers) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def detail(student_id, permiso='students_show'): if current_user.have_permissions(permiso): student = Students.query.filter_by(id=student_id).first_or_404() level = Level.query.filter_by(id=student.level_id).first_or_404() neighborhood = Neighborhood.query.filter_by(id=student.neighborhood_id).first_or_404() school = School.query.filter_by(id=student.school_id).first_or_404() return render_template('students/detail.html', student=student, level=level, neighborhood=neighborhood, school=school) else: return render_template('home/dashboard.html')
def list(page, permiso='students_index'): if current_user.have_permissions(permiso): page = page conf = Configurations.query.first() students = Students.query.filter_by() students = students.paginate(page, conf.offset_paginator, False) return render_template('students/list.html', students=students) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def show_workshop_students(workshop_id, permiso='students_index'): if current_user.have_permissions(permiso): workshop = Workshop.query.filter_by(id=workshop_id).first_or_404() return render_template( 'administration/workshop_show_students.html', workshop=workshop, ) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def configuration(permiso='configurations_show'): if current_user.have_permissions(permiso): conf = Configurations.query.first() if request.method == 'POST': data = request.form conf.update(data) return render_template('/home/dashboard.html') return render_template('admin/config.html', configuration=conf) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def workshop_detail(workshop_id, school_year_id,permiso='administration_show'): if current_user.have_permissions(permiso): school_year = SchoolYear.query.filter_by(id=school_year_id).first_or_404() workshop = Workshop.query.filter_by(id=workshop_id).first_or_404() teacher = Teachers.query.filter_by(id=workshop.teacher_id).first_or_404() return render_template( 'administration/workshop_detail.html', workshop=workshop, teacher=teacher, school_year=school_year ) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def workshop_add_student(workshop_id, student_id, permiso='students_index'): if current_user.have_permissions(permiso): workshop = Workshop.query.filter_by(id=workshop_id).first_or_404() student = Students.query.filter_by(id=student_id).first_or_404() if can_add_student(student, workshop): workshop.add_student(student) msg = "el alumno {} se agrego al taller".format(student.name) else: msg = "el alumno {} no se agrego al taller".format(student.name) return redirect( url_for('administration.add_student', workshop_id=workshop.id, msg=msg)) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def school_year_list(page, permiso='administration_index'): if current_user.have_permissions(permiso): conf = Configurations.query.first() school_years = SchoolYear.query.filter_by(active=True).paginate( page, conf.offset_paginator, False ) return render_template( 'administration/school_year_list.html', school_years=school_years) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def update(user_id, permiso='user_update'): if current_user.have_permissions(permiso): user = User.query.filter_by(id=user_id).first_or_404() roles = get_user_roles(user) form = CreateFormUser(request.form) if request.method == "POST": if form.validate(): user.update(form) return redirect(url_for('users.detail', user_id=user.id)) return render_template('users/edit.html', user=user, roles=roles, form=form), 200 else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def update(student_id, permiso='students_update'): if current_user.have_permissions(permiso): student = Students.query.filter_by(id=student_id).first_or_404() dniTypes = requests.get("https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento").json() localities = requests.get("https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad").json() form = CreateStudentsForm(request.form) levels = Level.query.filter_by() neighborhoods = Neighborhood.query.filter_by() schools = School.query.filter_by() if request.method == "POST": if form.validate(): student.update(form) return redirect(url_for('students.detail', student_id=student.id)) return render_template('students/edit.html', student=student, localities=localities, dniTypes=dniTypes, form=form, levels=levels, neighborhoods=neighborhoods, schools=schools), 200 else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def list(page, permiso='user_index'): if current_user.have_permissions(permiso): page = page users = User.query.filter_by() if request.method == 'POST': form = request.form username = form.get('username') active = form.get('active') if username: users = users.filter_by(username=username) if active: active = True if active == "True" else False users = users.filter_by(active=active) conf = Configurations.query.first() users = users.paginate(page, conf.offset_paginator, False) return render_template('users/list.html', user_list=users) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def create(permiso='teachers_new'): """ metodo GET: renderiza form de reacion metodo POST: verifica los datos y crea usuaraio """ if current_user.have_permissions(permiso): form = CreateTeachersForm(request.form) dniTypes = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento" ).json() localities = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad" ).json() if request.method == 'POST': if form.validate(): teacher = Teachers.query.filter( and_( Teachers.document_number == form.document_number.data, Teachers.document_type == form.document_type.data, )).all() if teacher: msg = "error: ya existe un maestro con ese tipo y numero de docuemtno" return render_template( 'teachers/create.html', form=form, dniTypes=dniTypes, localities=localities, msg=msg, ), 403 teacher = Teachers.create(form) msg = "El Docente %s se creo con exito" % teacher.name return redirect( url_for('teachers.detail', teacher_id=teacher.id)) return render_template('teachers/create.html', form=form, dniTypes=dniTypes, localities=localities) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def attend(permiso='students_index'): # TODO: ver permiso if current_user.have_permissions(permiso): student_id = request.json.get('student_id') lesson_id = request.json.get('lesson_id') attend = Attend.query.filter( and_( Attend.lesson_id == lesson_id, Attend.student_id == student_id ) ).first_or_404() attend.attend() workshop = Workshop.query.filter_by(id=attend.lesson.workshop_id).first_or_404() return render_template( 'administration/workshop_show_students.html', workshop=workshop, ) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def workshop_create(school_year_id, permiso='administration_new'): if current_user.have_permissions(permiso): sy = SchoolYear.query.filter_by(id=school_year_id).first_or_404() teachers = Teachers.query.all() nucleos = Neighborhood.query.all() form = WorkshopCreateForm(request.form) if request.method == "POST" and form.validate(): workshop = Workshop.create(form, sy) return redirect( url_for('administration.workshop_detail', workshop_id=workshop.id, school_year_id=school_year_id)) return render_template( 'administration/workshop_create.html', school_year=sy, nucleos= nucleos, teachers=teachers, form=form, talleres=TALLERES, ) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def school_year_edit(school_year_id, permiso='administration_new'): if current_user.have_permissions(permiso): form = CreateSchoolYearForm(request.form) school_year_edit = SchoolYear.query.filter_by(id=school_year_id).first_or_404() if request.method == "POST": if form.validate(): school_year = SchoolYear.query.filter_by(start_date=form.start_date.data).all() if school_year: if not school_year_id == school_year[0].id: msg = "Error al editar, ya existe un ciclo lectivo con la misma fecha de inicio." return render_template( 'administration/school_year_edit.html', form=form, msg=msg, school_year=school_year_edit ) school_year_edit.update(form) return redirect(url_for('administration.school_year_detail', school_year_id=school_year_edit.id)) return render_template('administration/school_year_edit.html', school_year=school_year_edit) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def update(teacher_id, permiso='teachers_update'): if current_user.have_permissions(permiso): teacher = Teachers.query.filter_by(id=teacher_id).first_or_404() dniTypes = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento" ).json() localities = requests.get( "https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad" ).json() form = CreateTeachersForm(request.form) if request.method == "POST": if form.validate(): teacher.update(form) return redirect( url_for('teachers.detail', teacher_id=teacher.id)) return render_template('teachers/edit.html', teacher=teacher, dniTypes=dniTypes, localities=localities, form=form), 200 else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def create(permiso='students_new'): """ metodo GET: renderiza form de reacion metodo POST: verifica los datos y crea usuaraio """ if current_user.have_permissions(permiso): form = CreateStudentsForm(request.form) dniTypes = requests.get("https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento").json() localities = requests.get("https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad").json() levels = Level.query.filter_by() neighborhoods = Neighborhood.query.filter_by() schools = School.query.filter_by() if request.method == 'POST': if form.validate(): student = Students.query.filter( and_( Students.document_number == form.document_number.data, Students.document_type == form.document_type.data, ) ).all() if student: msg = "Error al crear usuario: ya existe un usuario con el mismo documento y tipo" return render_template( 'students/create.html', form=form, dniTypes=dniTypes, localities=localities, msg=msg, ), 403 student = Students.create(form) return redirect(url_for('students.detail', student_id=student.id)) return render_template('students/create.html', form=form, dniTypes=dniTypes, localities=localities, levels=levels, neighborhoods=neighborhoods, schools=schools) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')
def school_year_create(permiso='administration_new'): """ metodo GET: renderiza form de creacion metodo POST: verifica los datos y crea usuaraio """ if current_user.have_permissions(permiso): form = CreateSchoolYearForm(request.form) if request.method == 'POST': if form.validate(): school_year = SchoolYear.query.filter_by(start_date=form.start_date.data).all() if school_year: msg = "Error al crear el ciclo lectivo ya existe uno creado con la misma fecha de inicio" return render_template( 'administration/school_year_create.html', form=form, msg=msg ) school_year = SchoolYear.create(form) return redirect(url_for('administration.school_year_detail', school_year_id=school_year.id)) return render_template('administration/school_year_create.html', form=form) else: flash('No tiene los permisos para acceder :(') return render_template('home/dashboard.html')