Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
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')
Ejemplo n.º 5
0
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')
Ejemplo n.º 6
0
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')
Ejemplo n.º 7
0
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')
Ejemplo n.º 8
0
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')
Ejemplo n.º 9
0
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')
Ejemplo n.º 10
0
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')
Ejemplo n.º 11
0
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')
Ejemplo n.º 12
0
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')
Ejemplo n.º 13
0
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')
Ejemplo n.º 14
0
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')
Ejemplo n.º 15
0
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')
Ejemplo n.º 16
0
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')
Ejemplo n.º 17
0
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')
Ejemplo n.º 18
0
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')
Ejemplo n.º 19
0
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')
Ejemplo n.º 20
0
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')
Ejemplo n.º 21
0
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')
Ejemplo n.º 22
0
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')
Ejemplo n.º 23
0
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')
Ejemplo n.º 24
0
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')
Ejemplo n.º 25
0
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')
Ejemplo n.º 26
0
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')
Ejemplo n.º 27
0
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')
Ejemplo n.º 28
0
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')