示例#1
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)
示例#2
0
def assign(user, rol):  #asignacion de rol
    set_db()
    user_id = Usuario.get_id_by_username(user)
    rol_id = mapRol(rol)

    Usuario.change_rol(user_id, rol_id)
    newrol = Usuario.get_rol(user_id)

    return redirect(url_for('user_resource_indexAssign'))
示例#3
0
def delete(id):  #ELIMINA USUARIO
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    Usuario.delete(id)
    if 'usuario_destroy' not in session['permisos']:
        logout()
    return redirect(url_for('user_resource_index'))
示例#4
0
def active(id):  #Habilita a un usuario inhabilitado para usar la pagina
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    if 'usuario_activar' not in session['permisos']:
        flash("No tiene permisos para deshabilitar usuarios")
        return redirect(url_for('user_resource_index'))
    Usuario.active(id)
    return redirect(url_for('user_resource_index'))
示例#5
0
def deleteRol(user, rol):  #sacar rol
    set_db()
    user_id = Usuario.get_id_by_username(user)
    rol_id = mapRol(rol)
    Usuario.delete_rol(user_id, rol_id)
    newrol = Usuario.get_rol(user_id)
    if 'usuario_asignar_rol' not in session['permisos']:
        flash("No tiene permisos para editar un usuario")
        return redirect(url_for('user_resource_index'))
    #usuario_destroy
    return redirect(url_for('user_resource_indexAssign'))
示例#6
0
def to_basic():
    set_db()
    perfiles = Perfil.all_with_id(session['usuario_id'])
    plan = Usuario.find_by_id(session['usuario_id'])['subscription']
    if plan == 'premium' and len(
            perfiles) > 2:  # es una mierda este codigo, lo se
        flash(
            "No puede tener mas de 2 perfiles si pasa a basico. Elimine los necesarios"
        )
        return redirect(url_for("perfil_menu"))
    Usuario.toBasic(session['usuario_id'])
    return redirect(url_for("perfil_menu"))
示例#7
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'])
示例#8
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)
示例#9
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
示例#10
0
def authenticate():
    params = request.form
    set_usuario_db()
    Perfil.db = get_db()
    usuario = Usuario.find_by_email_and_pass(params['email'],
                                             params['password'])

    if not usuario:
        flash("Usuario o clave incorrecto.")
        return redirect(url_for('auth_login'))
    if usuario['activo'] == 0:
        flash("Usuario inhabilitado")
        return redirect(url_for('auth_login'))
    session['usuario'] = usuario['email']
    session['usuario_id'] = usuario['id']
    #session['perfil'] = Perfil.get_id_by_name_id(usuario['username'], usuario['id'])
    session['permisos'] = getCurrentPermits()
    Configuracion.db = get_db
    info = Configuracion.get_information()
    if (info.get('habilitado') == 0) and ('configuracion_usarInhabilitado'
                                          not in session['permisos']):
        flash("Sitio temporalmente inhabilitado")
        del session['usuario']
        del session['permisos']
    flash("La sesión se inició correctamente.")
    if 'configuracion_usarInhabilitado' in session['permisos']:
        return redirect(url_for("book_menu"))
    return redirect(url_for('perfil_menu'))
示例#11
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)
示例#12
0
def create():  #crea un usuario
    set_db()
    Perfil.db = get_db()
    if not validate_user(request.form.get('username'),
                         request.form.get('email')) or not validate_email(
                             request.form.get('email')):
        return redirect(url_for('user_resource_new'))
    if not validate_card(request.form.get('dni'),
                         request.form.get('numero_tarjeta')):
        flash("Tarjeta Ya cargada")
    else:
        Usuario.create(request.form)
        user_id = Usuario.get_id_by_username(request.form.get('username'))
        Perfil.create(request.form.get('username'), user_id)
        flash("Usuario creado con exito")
        return redirect(url_for('auth_login'))
    return redirect(url_for('user_resource_new'))
示例#13
0
def render_menu():
    set_db()
    perfiles = Perfil.all_with_id(session['usuario_id'])
    plan = Usuario.find_by_id(session['usuario_id'])['subscription']
    print(plan)
    esPremium = plan == 'premium'
    print(esPremium)
    return render_template("perfil/menu.html",
                           perfiles=perfiles,
                           esPremium=esPremium)
示例#14
0
def new():
    set_db()
    perfiles = Perfil.all_with_id(session['usuario_id'])
    plan = Usuario.find_by_id(session['usuario_id'])['subscription']
    if plan == 'basic' and len(
            perfiles) == 2:  # es una mierda este codigo, lo se
        flash("Su plan no permite más perfiles")
        return redirect(url_for("perfil_menu"))
    if plan == 'premium' and len(perfiles) == 4:
        flash("No se puede tener más de 4 perfiles")
        return redirect(url_for("perfil_menu"))
    return render_template("perfil/new.html")
示例#15
0
def edit(id):  #levanta la vista de editar usuario
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect('/')
    set_db()
    usuario = Usuario.find_by_id(id)
    print(usuario)
    usuario['fecha'] = usuario['fecha'].strftime("%Y-%m")
    print(usuario)
    adm = False
    if "usuario_edit" in session['permisos']:
        adm = True
    return render_template('user/edit.html', usuario=usuario, adm=adm)
示例#16
0
def executeEdit(id):  #baja la edición al modelo
    if not authenticated(session):
        flash("No puede ingresar sin iniciar sesion")
        return redirect(url_for('user_resource_index'))
    set_db()
    user = Usuario.find_by_id(id)
    if user['numero_tarjeta'] != request.form.get(
            'numero_tarjeta') and not validate_card(
                request.form.get('dni'), request.form.get('numero_tarjeta')):
        flash('La Tarjeta ya se encuentra registrada')
        return redirect(url_for('user_resource_edit', id=id))
    else:
        if (user['username'] !=
                request.form.get('username')) and not validate_user(
                    request.form.get('username'), request.form.get('email')):
            return redirect(url_for('user_resource_edit', id=id))
        if (user['email'] != request.form.get('email')) and not validate_email(
                request.form.get('email')):
            return redirect(url_for('user_resource_edit', id=id))
        else:
            Usuario.update(request.form, id)
            flash("Se modifico al usuario " + request.form.get('username') +
                  " correctamente")
    return redirect(url_for('user_resource_index'))
示例#17
0
def create():
    set_db()
    perfiles = Perfil.all_with_id(session['usuario_id'])
    plan = Usuario.find_by_id(session['usuario_id'])['subscription']
    print(plan)
    print(len(perfiles))
    if plan == 'basic' and len(
            perfiles) == 2:  # es una mierda este codigo, lo se
        flash("Su plan no permite más perfiles")
        return redirect(url_for("perfil_menu"))
    if plan == 'premium' and len(perfiles) == 4:
        flash("No se puede tener más de 4 perfiles")
        return redirect(url_for("perfil_menu"))
    if validate_perfil(request.form.get("nombre"), perfiles):
        Perfil.create(request.form.get("nombre"), session['usuario_id'])
    else:
        flash("Ya existe un perfil con ese nombre")
        redirect(url_for("perfil_new"))
    return redirect(url_for("perfil_menu"))
示例#18
0
def get_all_users():
    set_db()
    usuarios = Usuario.all()
    return usuarios
示例#19
0
def getCurrentPermits():
    usuario = Usuario.find_by_email(session['usuario'])
    set_permit_db()
    return Permit.get_permits(usuario)
示例#20
0
def to_premium():
    set_db()
    idUser = session['usuario_id']
    Usuario.toPremium(idUser)
    flash('El usuario es premium.')
    return redirect(url_for("perfil_menu"))
示例#21
0
def to_premium():
    set_db()
    Usuario.toPremium(session['usuario_id'])
    return redirect(url_for("perfil_menu"))