diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index 53ad87a6e71edd3562c642b91e2d4dbf03e17253..3b3c934a85341e75092b6ef1e8df77bdc838687e 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -13,6 +13,7 @@ from django.db.models import Model, QuerySet from django.http import HttpRequest from django.shortcuts import get_object_or_404 from django.utils import timezone +from django.utils.crypto import get_random_string from django.utils.functional import lazy from django.utils.module_loading import import_string @@ -279,6 +280,11 @@ def queryset_rules_filter( return queryset.filter(pk__in=wanted_objects) +def generate_random_code(length, packet_size) -> str: + """Generate random code for e.g. invitations.""" + return get_random_string(packet_size * length).lower() + + def unread_notifications_badge(request: HttpRequest) -> int: """Generate badge content with the number of unread notifications.""" return request.user.person.unread_notifications_count