Esempio n. 1
0
def config():
    if not authenticated(session):
        flash("Acceso inhabilitado")
        return redirect('/')
    set_db()
    adm = False
    inhabilitado = False
    Configuracion.db = get_db
    info = Configuracion.get_information()
    if not (info.get('habilitado')):
        inhabilitado = True
    if "usuario_index" in session[
            'permisos']:  #si tiene permiso para indexar usuario va a poder ir a lal pagina de configuracion
        adm = True
        return render_template('config/config.html',
                               adm=adm,
                               inhabilitado=inhabilitado,
                               title=info.get('titulo'),
                               description=info.get('descripcion'),
                               mail=info.get('mail_orquesta'),
                               permiso_paginado="configuracion_paginado"
                               in session['permisos'],
                               permiso_info="configuracion_info"
                               in session['permisos'],
                               permiso_habilitar="configuracion_habilitado"
                               in session['permisos'])
    else:
        return render_template('user/index.html',
                               adm=adm,
                               inhabilitado=inhabilitado)
Esempio n. 2
0
def show(id):  #mostrar datos de un usuario
    if not authenticated(session):
        flash("Acceso inhabilitado")
        return redirect('/')
    set_db()
    usuario = Usuario.find_by_id(id)
    return render_template('/user/show.html', usuario=usuario)
Esempio n. 3
0
def modificar():
    if not authenticated(session):
        abort(401)

    permisos = Estudiante.misPermisos(session['id'])

    pag= request.args.get('pagina')
    data = request.form
    Configuracion.db = get_db()
    config = Configuracion.all()

    Rol.db = get_db()
    roles = Rol.all()
    pag= request.args.get('pagina')

    Nivel.db = get_db()
    niveles = Nivel.all()

    Estudiante.db = get_db()

    Estudiante.modificar(request.form,pag,config['paginacion']) #agarro los datos del formulario
    
    estudiante = Estudiante.all(pag,config['paginacion'])
    rango= Estudiante.rangoAll(config['paginacion'])


    return redirect(url_for('student_index',pagina=0))
Esempio n. 4
0
def delete():
    if not authenticated(session):
        abort(401)  


    permisos = User.misPermisos(session['id'])
    pag= request.args.get('pagina')

    User.db = get_db()
    id_user= request.args.get('id')

    Estudiante.db = get_db()
    id_student= request.args.get('id')

    
    Configuracion.db = get_db()
    config = Configuracion.all()
    pag= request.args.get('pagina')

    user = User.all(pag,config['paginacion'])

    rango= User.rangoAll(config['paginacion'])

    Estudiante.delete(id_student,pag,config['paginacion'])
    estudiantes=Estudiante.all(pag,config['paginacion'])
    return render_template('student/index.html', estudiantes=estudiantes, pages=config['paginacion'],rango=rango,vista='student_delete',permisos=permisos)
Esempio n. 5
0
def store():
    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.ValidateCiclo(
                request.form).validate():
            if int(request.form['año']) < int(1990) or int(
                    request.form['año']) > int(2025):
                flash(
                    'Verifica los campos obligatorios. No ingreses valores no permitidos',
                    'error')
            else:
                Ciclo.db = get_db()
                if not Ciclo.semestreExiste(request.form):
                    Ciclo.store(request.form)
                    flash("Ciclo lectivo agregado correctamente", 'success')
                else:
                    flash("El semestre ya tiene un ciclo lectivo asignado",
                          'error')
        else:
            flash(
                'Verifica los campos obligatorios. No ingreses valores no permitidos',
                'error')
        return redirect(url_for('panel_ciclos'))
    else:
        abort(401)
Esempio n. 6
0
def listadoAlumnos(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_ALUMNOS"):
        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']
    #   MODIFICADO PARA USUARIO PERO HAYQ UE AGREGAR LOS FILTROS PARA LA BUSQUEDA
    Estudiante.db = get_db()
    users = Estudiante.get_listado(nombre)

    return render_template('user/listadoAlumnos.html', users=users, params=params, nombreFiltro=nombre, function=function, filtro=filtro)
Esempio n. 7
0
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)
Esempio n. 8
0
def index():  #home de usuarios
    if not authenticated(session):
        flash("Acceso inhabilitado")
        return redirect('/')
    set_db()
    usuarios = Usuario.all()
    i = int(request.args.get('i', 0))
    Configuracion.db = get_db()
    pag = Configuracion.get_page_size()
    if (i == -1):
        i = 0
    elif (i * pag >= len(usuarios)):
        i = i - 1
    admPermit = "configuracion_usarInhabilitado" in session['permisos']
    user_id = session['usuario_id']
    return render_template(
        'user/index.html',
        usuarios=usuarios,
        i=i,
        pag=pag,
        url=request.path,
        adm=admPermit,
        permit=admPermit,
        user_id=user_id
    )  # Solo el admin puede usar Inhabilitade asi que usamos eso para saber si es admin
Esempio n. 9
0
def new():
    if not authenticated(session):
        abort(401)

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

    Rol.db = get_db()
    roles = Rol.all()

    #API de documentos
    response = requests.get(
        'https://api-referencias.proyecto2019.linti.unlp.edu.ar/tipo-documento'
    )
    if response.status_code == 200:
        doc = response.text
        documentos = json.loads(doc)
        #raise ValueError(documentos)

    #API de localidades
    response2 = requests.get(
        'https://api-referencias.proyecto2019.linti.unlp.edu.ar/localidad')
    if response2.status_code == 200:
        loc = response2.text
        localidades = json.loads(loc)
        #raise ValueError(localidades)

    return render_template('user/new.html',
                           roles=roles,
                           documentos=documentos,
                           localidades=localidades,
                           permisos=permisos)
Esempio n. 10
0
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'))
Esempio n. 11
0
def delete():
    if not authenticated(session):
        abort(401)

    permisos = User.misPermisos(session['id'])
    pag = request.args.get('pagina')

    User.db = get_db()
    id_user = request.args.get('id')

    Configuracion.db = get_db()
    config = Configuracion.all()

    user = User.all(pag, config['paginacion'])

    rango = User.rangoAll(config['paginacion'])

    User.delete(id_user, pag, config['paginacion'])

    return render_template('user/index.html',
                           users=user,
                           pages=config['paginacion'],
                           rango=rango,
                           vista='user_find',
                           permisos=permisos)
Esempio n. 12
0
def docenteDetalleTemp():
    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("MODIFICAR_USUARIO"):
    #     return redirect(url_for('pages_home'))

    Docente.db = get_db()
    Clase.db = get_db()
    docente = Docente.find_by_id(request.form['user'])
    clases = Clase.get_clases_by_docente(request.form['user'])
    # Roles.db = get_db()
    # roles = Roles.all()
    # usuarioSesion = user['id'] == session['id']
    # rolesUsuario = Roles.get_roles(user['id'])
    mapeo = request.form['mapeo']
    tallerId = request.form['tallerId']
    clid = request.form['clid']

    return render_template('user/detalleDocente.html',
                           user=docente,
                           mapeo=mapeo,
                           tallerId=tallerId,
                           clid=clid,
                           clases=clases)
Esempio n. 13
0
def update():
    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
            #---------------------PERMISOS-----------------------------
    if not ok:
        return render_template('error/mantenimiento.html')

    try:
        if True:

            Docente.db = get_db()
            # Docente.db.autocommit = False
            # apellido, nombre, fecha_nac, localidad_id, domicilio, tipo_doc_id, numero, tel
            Docente.update(request.form['apellido'], request.form['nombre'],
                           request.form['fecha_nac'],
                           request.form['localidades'],
                           request.form['domicilio'], request.form['generos'],
                           request.form['tiposDocumento'],
                           request.form['numero'], request.form['tel'],
                           request.form['id'])

            # Docente.delete_responsable(request.form['id'])
            # Docente.add_responsable(request.form['responsables'], request.form['id'])
            flash("Se modificó con éxito", "success")
            return redirect(url_for('listado_docentes'))
    except Exception as e:
        # Docente.db.rollback()
        flash(str(e), "danger")
        return redirectUpdateDocente(request.form)
Esempio n. 14
0
def password_update():
    s_config = siteconfig.get_config()
    if not authenticated(session) or (s_config["modo_mantenimiento"] == 1 and
                                      not has_role("administrador", session)):
        abort(401)

    form = PasswordUpdateForm()
    if form.validate_on_submit():
        password = request.form.get("password")
        bcrypt_password = bcrypt.generate_password_hash(password).decode(
            "utf - 8")

        updated = User.update_password(bcrypt_password, session.get("user"))
        if updated:
            # TODO: Email notificando la actualización de contraseña
            flash("La contraseña se ha modificado con éxito", "success")
        else:
            flash("Se ha producido un error al actualizar la contraseña",
                  "error")

    else:
        error_msg = "".join(list(form.errors.values())[0]).strip("'[]")
        flash(error_msg, "error")

    return redirect(url_for("user_profile"))
Esempio n. 15
0
def tomarAsistenciaTemp():

    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_ASISTENCIA"):
        return redirect(url_for('pages_home'))

    tallerId = request.form['tallerId']
    clid = request.form['clid']
    mapeo = request.form['mapeo']

    #obtengo todas las clases asociadas a un taller
    Clase.db = get_db()
    clases = Clase.get_clases_by_taller(tallerId)

    #obtengo todos los estudiantes asociados al taller
    Estudiante.db = get_db()
    estudiantes = Estudiante.estudiantes_by_taller(tallerId)

    return render_template('user/listadoTomarAsistencia.html',
                           clases=clases,
                           alumnos=estudiantes,
                           tallerId=tallerId,
                           clid=clid,
                           mapeo=mapeo)
Esempio n. 16
0
def indexAssign():
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    usuarios = Usuario.all()
    i = int(request.args.get('i', 0))
    if (i == -1):
        i = 0
    Configuracion.db = get_db()
    pag = Configuracion.get_page_size()
    rols = Configuracion.get_users_rols()
    userRolsDict = {}
    for pair in rols:
        id = pair['usuario_id']
        if id not in userRolsDict.keys():
            userRolsDict[pair['usuario_id']] = []
        userRolsDict[id].append(pair['rol_id'])
    if 'usuario_asignar_rol' not in session['permisos']:
        flash('No tienes permisos para acceder')
        return redirect('/')
    return render_template('user/rols.html',
                           usuarios=usuarios,
                           delete=False,
                           i=i,
                           pag=pag,
                           mapIdRol=userRolsDict)
Esempio n. 17
0
def store():
    if not authenticated(session):
        abort(401)
    #Chequea permiso
    User.db = get_db()
    if (User.tiene_permiso(session['id'], 'instrumento_new')):
        if request.method == "POST" and forms.ValidateInstrument(
                request.form).validate():
            #file = request.files['img']
            #if file:# and allowed_file(file.filename):
            #    filename = secure_filename(file.filename)
            #    file.save(os.path.abspath(UPLOAD_FOLDER+filename))
            #else:
            #    flash('Imagen inválida. Solo se permite JPG o PNG', 'error')
            #    return redirect(url_for('new_instrumento'))
            Instrumento.db = get_db()
            Instrumento.store(request.form)
            flash("Instrumento agregado correctamente", 'success')
            return redirect(url_for('panel_instrumentos'))
        else:
            flash(
                'Verifica los campos obligatorios. No ingreses valores no permitidos',
                'error')
            return redirect(url_for('new_instrumento'))
    else:
        abort(401)
Esempio n. 18
0
def indexUser():  #mostrar usuario con cierto nombre
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    usuarios = Usuario.find_by_username(request.form['username'])
    i = int(request.args.get('i', 0))
    if (i == -1):
        i = 0
    Configuracion.db = get_db()
    pag = Configuracion.get_page_size()
    if not "usuario_show" in session['permisos']:
        flash('No posee permiso para buscar')
        redirect(url_for('user_resource_index'))
    admPermit = "configuracion_usarInhabilitado" in session['permisos']
    if (len(usuarios) < 1):
        flash("No se encontraron usuarios con ese username")
        return render_template('user/index.html',
                               usuarios=Usuario.all(),
                               i=i,
                               pag=pag,
                               adm=admPermit,
                               permit=admPermit)
    else:
        flash("Busqueda realizada con exito")
        return render_template('user/index.html',
                               usuarios=usuarios,
                               i=i,
                               pag=pag,
                               adm=admPermit,
                               permit=admPermit)
Esempio n. 19
0
def indexInactive():
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    usuarios = Usuario.find_by_inactive()
    i = int(request.args.get('i', 0))
    Configuracion.db = get_db()
    pag = Configuracion.get_page_size()
    if (i == -1):
        i = 0
    elif (i * pag > len(usuarios)):
        i = i - 1
    url = request.path
    adm = False
    if "usuario_index" in session['permisos']:
        adm = True
    return render_template('user/index.html',
                           usuarios=usuarios,
                           i=i,
                           pag=pag,
                           url=url,
                           adm=adm,
                           permit="configuracion_usarInhabilitado"
                           in session['permisos'])
Esempio n. 20
0
def userUpdateTemp():
    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("MODIFICAR_USUARIO"):
        return redirect(url_for('pages_home'))

    User.db = get_db()
    user = User.get_user_by_email(request.form['email'])
    Roles.db = get_db()
    roles = Roles.all()
    usuarioSesion = user['id'] == session['id']
    rolesUsuario = Roles.get_roles(user['id'])

    return render_template('user/modificarUsr.html',
                           user=user,
                           roles=roles,
                           usuarioSesion=usuarioSesion,
                           rolesUsuario=rolesUsuario)
Esempio n. 21
0
def show():
    if not authenticated(session):
        abort(401)
    pag = request.args.get('pagina')

    Configuracion.db = get_db()
    config = Configuracion.all()

    # raise ValueError(pag)

    # User.db = get_db()
    # users = User.all(page,config['paginacion'])

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

    Asistencia.db = get_db()
    rango = Asistencia.rangoAll(config['paginacion'])

    asistencias = Asistencia.show(pag, config['paginacion'])

    return render_template('asistencia/show.html',
                           asistencias=asistencias,
                           pages=config['paginacion'],
                           rango=rango,
                           vista='asistencia_show',
                           permisos=permisos)
Esempio n. 22
0
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:

        User.db = get_db()
        User.db.autocommit = False
        auxUser = User.get_user_by_email(request.form['hiddenEmailD'])
        User.delete(auxUser['id'])
        User.remove_roles_de_usuario(auxUser['id'])

        User.db.commit()

        flash("Se eliminó con éxito", "success")
        return redirect(url_for('listado_usuarios'))

    except Exception as e:
        flash(str(e), "danger")
        User.db.rollback()
        return redirect(url_for('listado_usuarios'))
Esempio n. 23
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)
Esempio n. 24
0
def listado_ciclos(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_CICLOS"):
        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'])

    Ciclo.db = get_db()
    users = Ciclo.all()

    return render_template('user/listadoCiclosLectivos.html', users=users, params=params, function=function)
Esempio n. 25
0
def updateClaseDeTaller():
    try:
        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("AGREGAR_EDITAR_CLASE"):
            return redirect(url_for('pages_home'))

        Clase.db = get_db()
        Clase.update(request.form['dia'], request.form['inicio'], request.form['fin'], request.form['docente'], request.form['claseEditar'])
        # Clase.add_docente_clase(request.form['docente'], res['idInsertado'])
        # Clase.db.commit()

        flash("La clase se agregó con éxito","success")
        return taller.detalle()
    
    except Exception as e:
        msj = str(e)
        flash(msj, "danger")
        return taller.detalle()
Esempio n. 26
0
def deleteClaseDeTaller():
    try:
        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("ELIMINAR_CLASE"):
            return redirect(url_for('pages_home'))

        Clase.db = get_db()
        Clase.delete(request.form['claseEliminarId'])

        flash("La clase se eliminó con éxito","success")
        return taller.detalle()
    
    except Exception as e:

        msj = str(e)
        # Clase.db.rollback()
        flash(msj, "danger")
        return taller.detalle()
Esempio n. 27
0
def authenticated_permission(permission):
    authenticated_object = {'authenticated': False}
    User.db = get_db()
    if (auth.authenticated()) and (User.has_permission(session['id'],
                                                       permission)):
        authenticated_object = {'authenticated': True}
    return jsonify(authenticated_object)
Esempio n. 28
0
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)
Esempio n. 29
0
def add_estudiantes_horario():
    if not authenticated(session):
        abort(401)
    data = request.form
    # raise ValueError(data)
    Horario.db = get_db()
    Horario.addEstudiantes(data)
    return redirect(url_for('horario_estudiantes'))
Esempio n. 30
0
def update():
    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')
    msj = ""
    try:
        formCU = CreateUserForm(request.form)
        User.db = get_db()
        User.db.autocommit = False
        usuarioSesion = int(request.form['id']) == int(session['id'])
        if createIsValid(formCU, request.form['oldEmail'],
                         request.form['oldUsuario'], usuarioSesion):
            # actualizo los datos del usuario
            User.update(request.form['email'], request.form['usuario'],
                        request.form['password'], request.form['firstName'],
                        request.form['lastName'], int(request.form['id']))

            if (not usuarioSesion):
                # elimino los roles asociados anteriores
                User.remove_roles_de_usuario(int(request.form['id']))
                # obtengo los roles seleccionados y los agrego
                for rolSelected in request.form.getlist("roles"):
                    idRol = int(rolSelected)
                    User.add_role(int(request.form['id']), idRol)

            msj = "Se modificó con éxito"
            User.db.commit()
            #si el usuario modifica su propia información de usuario => actualizo los datos de la sesión
            if usuarioSesion:
                actualizarSession()

            flash("Se modificó con éxito", "success")
            if usuarioSesion:
                return redirect(url_for('user_perfil'))
            else:
                return redirect(url_for('listado_usuarios'))

    except Exception as e:
        msj = str(e)
        User.db.rollback()
        rolesUsuario = request.form.getlist("roles")
        roles = Roles.all()
        user = User.find_by_id(request.form['id'])
        return render_template("user/modificarUsr.html",
                               titulo=msj,
                               user=user,
                               form=formCU,
                               roles=roles,
                               rolesUsuario=rolesUsuario,
                               usuarioSesion=usuarioSesion,
                               formRequest=request.form)