Compare commits

..

2 commits
0.11 ... main

Author SHA1 Message Date
a0b69596c8 bumped version to 0.12 2026-06-05 11:13:11 +02:00
71e72fb98b Added command to bulk-create vouchers 2026-06-05 11:11:55 +02:00
3 changed files with 41 additions and 2 deletions

View file

@ -117,7 +117,7 @@ TASKS = {"default": {"BACKEND": "django.tasks.backends.immediate.ImmediateBacken
STATIC_ROOT = BASE_DIR.parent.parent / "static"
RELEASE_VERSION = "0.11"
RELEASE_VERSION = "0.12"
# Import settings from configuration.py
try:

View file

@ -0,0 +1,39 @@
from django.core.management.base import BaseCommand
from random import choices
from ...models import Voucher
class Command(BaseCommand):
help = "bulk-add vouchers with a given prefix and generate a latex output to render them"
def add_arguments(self, parser):
parser.add_argument("prefix", type=str)
parser.add_argument("amount", type=int)
def handle(self, *args, **options):
unabmigous_characters = "abcdefghijkmnopqrstuvwxyzACDEFHJKLMNPQRTUVWXY1234679"
vouchers = set()
while len(vouchers) < options["amount"]:
random_part = "".join(choices(unabmigous_characters, k=5))
vouchers.add(f"{options['prefix']}-{random_part}")
Voucher.objects.bulk_create(Voucher(code=v) for v in vouchers)
header = r"""\begin{document}
\begin{center}
"""
output = header
even = False
for v in vouchers:
output += f"\\voucher{{{v}}}"
if even:
output += "\\newline\n"
else:
output += "\n"
even = not even
output += r"""\end{center}
\end{document}"""
print(output)

View file

@ -1,6 +1,6 @@
[project]
name = "community_backup"
version = "0.11"
version = "0.12"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"