Changeset - 731858c19142
[Not reviewed]
0 1 0
Joel Addison - 2 years ago 2022-01-05 08:11:27
joel@addison.net.au
Add ticket type to venueless traits

Allow permissions to be setup in venueless based on the ticket type
in addition to existing specific traits.
1 file changed with 5 insertions and 0 deletions:
0 comments (0 inline, 0 general)
vendor/regidesk/regidesk/models.py
Show inline comments
 
# -*- coding: utf-8 -*-
 
import base64
 
import datetime
 
from decimal import Decimal
 
from io import BytesIO
 
import jwt
 
import re
 

	
 
from django.core.exceptions import ValidationError
 
from django.utils import timezone
 

	
 
from django.conf import settings
 
from django.db import models
 
from django.db.models import Q, F
 
from django.db.models import Case, When, Value
 
from django.db.models import Count
 
from django.db.models.signals import post_save
 
from django.contrib.auth import get_user_model
 
import pyqrcode
...
 
@@ -175,24 +176,28 @@ class CheckIn(models.Model):
 
            self.save()
 

	
 
        return self._venueless_token
 

	
 
    def _get_venueless_traits(self):
 
        """ Returns a list of traits based on the user's ticket """
 
        ticket_type = self.user.attendee.ticket_type
 
        if not ticket_type:
 
            return []
 

	
 
        traits = ["attendee"]
 

	
 
        ticket_code = re.sub(r'\s+', '', ticket_type)
 
        ticket_trait = f'ticket_{ticket_code}'
 
        traits.append(ticket_trait)
 

	
 
        if ticket_type == "Conference Volunteer":
 
            traits.append("volunteer")
 
        elif ticket_type == "Conference Organiser":
 
            traits.append("organiser")
 

	
 
        if hasattr(self.user, "speaker_profile"):
 
            best = 0
 
            for presentation in self.user.speaker_profile.presentations.all():
 
                if presentation.section.id == 1:
 
                    # Main Conference Speaker
 
                    best = 1
 
                if best == 0 and presentation.section.id == 2:
0 comments (0 inline, 0 general)