Files
mayan-edms/mayan/apps/user_management/dashboard_widgets.py
2019-06-28 13:45:10 -04:00

47 lines
1.7 KiB
Python

from __future__ import absolute_import, unicode_literals
from django.apps import apps
from django.contrib.auth import get_user_model
from django.urls import reverse_lazy
from django.utils.translation import ugettext_lazy as _
from mayan.apps.dashboards.classes import DashboardWidgetNumeric
from .icons import icon_group_list, icon_user_list
from .permissions import permission_group_view, permission_user_view
class DashboardWidgetUserTotal(DashboardWidgetNumeric):
icon_class = icon_user_list
label = _('Total users')
link = reverse_lazy(viewname='user_management:user_list')
def render(self, request):
AccessControlList = apps.get_model(
app_label='acls', model_name='AccessControlList'
)
self.count = AccessControlList.objects.restrict_queryset(
permission=permission_user_view, user=request.user,
queryset=get_user_model().objects.all()
).count()
return super(DashboardWidgetUserTotal, self).render(request)
class DashboardWidgetGroupTotal(DashboardWidgetNumeric):
icon_class = icon_group_list
label = _('Total groups')
link = reverse_lazy(viewname='user_management:group_list')
def render(self, request):
AccessControlList = apps.get_model(
app_label='acls', model_name='AccessControlList'
)
Group = apps.get_model(
app_label='auth', model_name='Group'
)
self.count = AccessControlList.objects.restrict_queryset(
permission=permission_group_view, user=request.user,
queryset=Group.objects.all()
).count()
return super(DashboardWidgetGroupTotal, self).render(request)