feat: add community contribution ranks

This commit is contained in:
2026-09-29 22:18:57 +03:30
parent 0f6220f72c
commit 77567178ad
46 changed files with 2206 additions and 23 deletions

26
apps/events/services.py Normal file
View File

@@ -0,0 +1,26 @@
from django.db import transaction
from django.utils import timezone
from apps.events.models import Registration
@transaction.atomic
def verify_registration_attendance(registration, *, verifier=None, source=None):
if source is None:
source = (
Registration.AttendanceVerificationSource.SYSTEM
if verifier is None
else Registration.AttendanceVerificationSource.STAFF_API
)
registration.status = Registration.StatusChoices.ATTENDED
registration.attendance_verified_at = timezone.now()
registration.attendance_verified_by = verifier
registration.attendance_verification_source = source
registration.save(update_fields=[
"status",
"attendance_verified_at",
"attendance_verified_by",
"attendance_verification_source",
"updated_at",
])
return registration