Files
guilan-ace-backend/apps/events/services.py

27 lines
876 B
Python

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