Exemple #1
0
def admin_roles():
    """ админка ролей
    """
    users = get_users_list()
    roles = get_roles_list()

    # возвращаем форму изменения ролей
    if request.method == 'GET':
        return render_template('users/admin_roles.html',
                roles=roles,
                users=users)

    # все остальное - это POST запрос, т.е. submit на форму
    # изменения ролей
    need_2_change = [x.id for x in users]

    # обрабатываем всех пользователей на которых стоят галочки
    for user_id in request.form.keys():
        if not user_id.isdigit():
            # проверяем, целое ли это число
            continue

        new_roles = request.form.getlist(user_id)
        user = load_user(int(user_id))
        user.roles = new_roles
        user.save()
        need_2_change.remove(int(user_id))

    # обрабатываем всех пользователей, у которых нет галочек
    for user_id in need_2_change:
        user = load_user(int(user_id))
        user.roles = []
        user.save()

    return redirect(request.args.get('next') or url_for('users.admin_roles'))
Exemple #2
0
def admin_panel():
    """ страница со средствами администрирования
    """
    users = get_users_list()
    roles = get_roles_list()

    return render_template('users/admin_panel.html',
            users=users,
            roles=roles)