feat: add community contribution ranks
This commit is contained in:
@@ -126,11 +126,30 @@ class Registration(BaseModel):
|
||||
CANCELLED = 'cancelled', 'Cancelled'
|
||||
ATTENDED = 'attended', 'Attended'
|
||||
|
||||
class AttendanceVerificationSource(models.TextChoices):
|
||||
STAFF_ADMIN = 'staff_admin', 'Staff admin'
|
||||
STAFF_API = 'staff_api', 'Staff API'
|
||||
SYSTEM = 'system', 'System'
|
||||
HISTORICAL = 'historical', 'Historical backfill'
|
||||
|
||||
event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name='registrations')
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='event_registrations')
|
||||
registered_at = models.DateTimeField(auto_now_add=True)
|
||||
status = models.CharField(max_length=10, choices=StatusChoices.choices,
|
||||
default=StatusChoices.PENDING)
|
||||
attendance_verified_at = models.DateTimeField(null=True, blank=True)
|
||||
attendance_verified_by = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name='verified_event_attendance',
|
||||
)
|
||||
attendance_verification_source = models.CharField(
|
||||
max_length=20,
|
||||
choices=AttendanceVerificationSource.choices,
|
||||
blank=True,
|
||||
)
|
||||
ticket_id = models.UUIDField(default=uuid.uuid4, unique=True, editable=False)
|
||||
|
||||
confirmation_notification_sent_at = models.DateTimeField(null=True, blank=True)
|
||||
@@ -193,3 +212,6 @@ class Registration(BaseModel):
|
||||
send_registration_confirmation_notification.delay(str(self.pk))
|
||||
self.confirmation_notification_sent_at = timezone.now()
|
||||
super().save(update_fields=["confirmation_notification_sent_at"])
|
||||
|
||||
from apps.gamification.services import sync_registration_attendance
|
||||
sync_registration_attendance(self)
|
||||
|
||||
Reference in New Issue
Block a user