123456789101112131415161718192021222324252627282930313233 |
- from django.contrib.auth.mixins import UserPassesTestMixin
- from django.views import View
- from sharix_admin.lib import *
- class BaseView(UserPassesTestMixin, View):
- """
- Базовый класс представления админ-панели ShariX.
- Предоставляет общие методы и функционал, который
- может быть использован в других представлениях админ-панели.
- """
- def dispatch(self, request, *args, **kwargs):
- self.user_groups = self.request.user.groups.values_list('name', flat=True)
- #self.avaliable_menu = self.request.user.groups.values_list('name', flat=True)
- return super().dispatch(request, *args, **kwargs)
- def test_func(self):
- return True
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context.update({
- 'title': self.page_title,
- 'current_page': self.page_name,
- 'user_groups': self.user_groups,
- 'avaliable_pages': gen_avaliable_pages(self.user_groups),
- })
- return context
|