UPD: change grace period for purging registration and participant data.

This commit is contained in:
2019-06-05 11:33:45 +02:00
parent 61605a205c
commit 4c67995680
5 changed files with 66 additions and 46 deletions

View File

@@ -2,11 +2,21 @@ import logging
from django.apps import apps
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.db.models import Q
from django.utils import timezone
# from .models import Participant
app_config = apps.get_containing_app_config(__package__)
logger = logging.getLogger(__name__)
# def purge_participants():
# now = timezone.now()
# for p in Participant.objects.filter(purge_at__lte=now):
# logger.info('Purge participant \'%s\'', p)
# p.delete()
# TODO: most of the functions here are auth stuff.
@@ -65,14 +75,3 @@ def has_role(user, role):
if group_names and user.groups.filter(name__in=group_names).count():
return True
return False
def get_users_by_permission(permission_name, include_superusers=False):
appname, codename = permission_name.split('.')
query = Q(user_permissions__codename=codename, user_permissions__content_type__app_label=appname)
query |= Q(groups__permissions__codename=codename, groups__permissions__content_type__app_label=appname)
if include_superusers:
query |= Q(is_superuser=True)
return get_user_model().objects.filter(query).distinct()