feat: add community contribution ranks
This commit is contained in:
26
apps/events/services.py
Normal file
26
apps/events/services.py
Normal 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
|
||||
Reference in New Issue
Block a user