Найти - Пользователи
Полная версия: Организация прав доступа по группам
Начало » Django » Организация прав доступа по группам
1
zkweb
В джанго еще новичок, прошу не ругать )

Есть несколько групп: 1) руководитель закупок, 2) менеджеры закупок 3) руководитель проектов, 4) менеджеры проектов

view.py
def get_items_queryset(self):
    if self.request.user.has_perm('netsch.view_netsch_all'):
        return Netsch.objects.all()
    else:
        return Netsch.objects.filter(user=self.request.user)
class NetschListView(ListView):
    get_queryset = get_items_queryset     
    template_name = 'netsch_list.html'

Мне необходимо сделать так: 1) Пользователь из группы “Руководитель закупок” видел свои записи + записи тех пользователей которые состоят в группе “Менеджеры закупов” 2) сделать тоже самое только для “Руководитель проектов”

Помогите, пожалуйста, написать код. Куда двигаться? вроде как начал делать, но застрял как это сделать по группам….
botinag
class NetschListView(ListView):
    model = Netsch
    template_name = 'netsch_list.html'
    def get_super_queryset(self):
        qs = super(NetschListView, self).get_super_queryset()
        if self.request.user.groups(name__in=[
                u'Руководитель закупок', u'Руководитель проектов']).exists():
            qs = qs.filter(Q(user=self.request.user) |
                           Q(user__groups__name=u'Менеджеры закупов'))
        elif self.request.user.groups(name=u'Менеджеры закупов').exists():
            qs = qs.filter(BLAH_BLAH)
        return qs
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB