예제 #1
0
def getNucleos(page):
    if auth.authenticated():
        #Obtiene permisos del usuario
        User.db = get_db()
        Nucleo.db = get_db()
        #Si se envia una pagina inexistente se aborta
        if (page > Nucleo.total_paginas(
                site_controller.get_pagination())) or (not int(page) > 0):
            abort(404)
        nucleos = Nucleo.allPaginated(site_controller.get_pagination(),
                                      int(page))
        fullnucleos = Nucleo.all()
        #Ultima pagina de paginado
        lastpage = Nucleo.getLastPage(site_controller.get_pagination(),
                                      int(page))
        return render_template(
            'auth/panel_components/nucleos.html',
            nombre=session['nombre'],
            apellido=session['apellido'],
            page=page,
            lastpage=lastpage,
            nucleos=nucleos,
            fullnucleos=fullnucleos,
        )
    else:
        return redirect(url_for('auth_login'))
예제 #2
0
def update():

    User.db = get_db()
    permisos = User.misPermisos(session['id'])

    id_horario = request.args.get('id')

    Ciclo_lectivo_taller.db = get_db()
    ciclos_talleres = Ciclo_lectivo_taller.all()

    Nucleo.db = get_db()
    nucleos = Nucleo.all()

    Dia.db = get_db()
    dias = Dia.all()

    Horario.db = get_db()
    horario = Horario.searchHorario(id_horario)

    return render_template('horario/update.html',
                           permisos=permisos,
                           nucleos=nucleos,
                           dias=dias,
                           ciclos_talleres=ciclos_talleres,
                           horario=horario)
def destroy():
    s_config = siteconfig.get_config()
    if not has_permission("nucleo_destroy", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    params = json.loads(request.data)
    nid = params["id"]

    success = Nucleo.delete(nid)

    op_response = dict()

    activo = params["activo"]

    if success:
        condicion = "bloqueado" if activo else "activado"
        op_response["msg"] = "Se ha " + condicion + " al núcleo exitosamente"
        op_response["type"] = "success"
    else:
        condicion = "bloquear" if activo else "activar"
        op_response["msg"] = "El núcleo a " + condicion + " no existe"
        op_response["type"] = "error"
        abort(jsonify(op_response), 422)

    return make_response(jsonify(op_response), 204)
예제 #4
0
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'))
예제 #5
0
def createTaller():
    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'))
    # 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_USUARIO"):
    #     return redirect(url_for('pages_home'))
    mapeo=request.form['mapeo']
    Docente.db = get_db()
    docentes = Docente.all()
    Ciclo.db = get_db()
    ciclos = Ciclo.all()
    Nucleo.db = get_db()
    nucleos = Nucleo.all()

    return render_template('user/createTaller.html', docentes=docentes, ciclos=ciclos, clid=request.form['clid'], mapeo=mapeo, nucleos=nucleos)
def get_nucleos_activos():
    s_config = siteconfig.get_config()
    if s_config["modo_mantenimiento"] == 1 and not has_role(
            "administrador", session):
        abort(401)

    nucleos = Nucleo.activos()

    nucleos = jsonify(nucleos)

    return make_response(nucleos, 200)
예제 #7
0
def getNucleo(id_data):
    if auth.authenticated():
        #Nucleo
        Nucleo.db = get_db()
        nucleo = Nucleo.getNucleo(id_data)
        return render_template('auth/panel_components/nucleo.html',
                               nombre=session['nombre'],
                               apellido=session['apellido'],
                               nucleo=nucleo)
    else:
        return redirect(url_for('auth_login'))
def get_nucleos():
    s_config = siteconfig.get_config()
    if not has_permission("nucleo_index", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    nucleos = Nucleo.all()

    nucleos = jsonify(nucleos)

    return make_response(nucleos, 200)
예제 #9
0
def index():

    User.db = get_db()
    permisos = User.misPermisos(session['id'])

    Horario.db = get_db()

    horarios = Horario.all(
    )  #Se hace un INNER JOIN con ciclo_lectivo y talleres
    Nucleo.db = get_db()
    nucleos = Nucleo.all()
    Dia.db = get_db()
    dias = Dia.all()
    return render_template('horario/index.html',
                           horarios=horarios,
                           nucleos=nucleos,
                           dias=dias,
                           permisos=permisos)
예제 #10
0
def show():
    User.db = get_db()
    permisos = User.misPermisos(session['id'])
    id_horario = request.args.get('id')
    Horario.db = get_db()
    horarios = Horario.all()
    horario = Horario.searchHorario(id_horario)

    Nucleo.db = get_db()
    nucleos = Nucleo.all()

    Dia.db = get_db()
    dias = Dia.all()
    return render_template('horario/show.html',
                           horario=horario,
                           nucleos=nucleos,
                           dias=dias,
                           permisos=permisos)
def nucleo_data():
    s_config = siteconfig.get_config()
    if not has_permission("nucleo_show", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    id = request.args.get("id")
    if id:

        nucleo = Nucleo.find_by_id(id)
        if nucleo is not None:
            data = jsonify(nucleo)
            return make_response(data, 200)
        else:
            abort(422)

    else:
        abort(400)
예제 #12
0
def new():

    User.db = get_db()
    permisos = User.misPermisos(session['id'])

    Ciclo_lectivo_taller.db = get_db()
    ciclos_talleres = Ciclo_lectivo_taller.all()

    Nucleo.db = get_db()
    nucleos = Nucleo.all()

    Dia.db = get_db()
    dias = Dia.all()

    return render_template('horario/new.html',
                           permisos=permisos,
                           nucleos=nucleos,
                           dias=dias,
                           ciclos_talleres=ciclos_talleres)
예제 #13
0
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)
예제 #14
0
def modificar():
    if not authenticated(session):
        abort(401)

    User.db = get_db()
    permisos = User.misPermisos(session['id'])
    data = request.form
    id_horario = request.args.get('id')
    Ciclo_lectivo_taller.db = get_db()
    ciclos_talleres = Ciclo_lectivo_taller.all()

    Nucleo.db = get_db()
    nucleos = Nucleo.all()

    Dia.db = get_db()
    dias = Dia.all()

    Horario.db = get_db()
    other = Horario.update(data, id_horario)

    return redirect(url_for('horario_index'))
def update():
    s_config = siteconfig.get_config()
    if not has_permission("nucleo_update", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    form = NucleoCreateForm()  # uso este porq es igual

    op_response = dict()

    if form.validate_on_submit():
        params = request.form.to_dict()

        updated = Nucleo.update(params)

        if updated:
            op_response["msg"] = "Se ha modificado al núcleo con éxito"
            op_response["type"] = "success"
        else:
            op_response["msg"] = "Ocurrió un error"
            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 núcleo 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 new():
    s_config = siteconfig.get_config()
    if not has_permission("nucleo_new", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    form = NucleoCreateForm()

    op_response = dict()

    if form.validate_on_submit():
        params = request.form.to_dict()

        created = Nucleo.create(params)

        if created:
            op_response["msg"] = "Se ha agregado al núcleo exitosamente"
            op_response["type"] = "success"
        else:
            op_response["msg"] = "Ha ocurrido un error al crear al núcleo"
            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 nuevo núcleo"
            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), 201)
예제 #17
0
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"],
                           )