Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 26, 2016 18:55:11

kpotko
Зарегистрирован: 2015-01-07
Сообщения: 21
Репутация: +  1  -
Профиль   Отправить e-mail  

Права групп

Не могу понять ,с чего начать и куда копать
Есть таблица с 5 полями
есть 3 группы пользователей : user , manager, admin
есть 5 пользователей
есть страница, куда данная таблица отображается.
нужно сделать так, чтобы конкретные группы и конкретные пользователи могли видеть только конкретные поля таблицы.

Офлайн

#2 Янв. 29, 2016 23:27:32

SirJorah
Зарегистрирован: 2015-04-21
Сообщения: 41
Репутация: +  2  -
Профиль   Отправить e-mail  

Права групп

Ну если так, не видя кода модели, то вот в общих чертах:

if groupadmin in user.groups:
    # формируем контекст из 5 полей
else if groupmanager in user.groups:
    # формируем контекст из 3 полей
else:
    # формируем контекст из 1 поля
Групп ведь может быть несколько у юзера, так что в первую очередь проверяем наличие admin, потом manager, ну и далее по нисходящей. А в шаблоне формируем представление таблицы исходя из наличия того или иного поля в контексте.
Возможно, найдется способ лучше, но и этот должен свою задачу выполнять.

Отредактировано SirJorah (Янв. 29, 2016 23:28:11)

Офлайн

#3 Янв. 30, 2016 10:04:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Права групп

kpotko
есть 3 группы пользователей : user , manager, admin
Создатели джанги уже все давно придумали за вас, используйте is_superuser и is_staff



Офлайн

#4 Янв. 30, 2016 10:59:53

SirJorah
Зарегистрирован: 2015-04-21
Сообщения: 41
Репутация: +  2  -
Профиль   Отправить e-mail  

Права групп

FishHook
используйте is_superuser и is_staff
Вы правы в случае, если в группе admin 1 пользователь и он же superuser. Процентов на 90 это видимо так. А вдруг нет? ТС этого не сообщает. Если admin не суперюзер, то как раз и придется проверять принадлежность к группам.

Офлайн

#5 Янв. 30, 2016 11:18:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Права групп

SirJorah
Да никому это не впёрлось. Можно наизобретать чего угодно, только нахрена.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version