@@ -36,48 +36,53 @@ class Attendee(models.Model):
return attendee
user = models.OneToOneField(User, on_delete=models.CASCADE)
# Badge/profile is linked
completed_registration = models.BooleanField(default=False)
highest_complete_category = models.IntegerField(default=0)
@python_2_unicode_compatible
class BadgeAndProfile(models.Model):
''' Information for an attendee's badge and related preferences '''
def __str__(self):
return "Badge for: %s of %s" % (self.name, self.company)
@staticmethod
def get_instance(attendee):
''' Returns either None, or the instance that belongs
to this attendee. '''
try:
return BadgeAndProfile.objects.get(attendee=attendee)
except ObjectDoesNotExist:
return None
def save(self):
if not self.name_per_invoice:
self.name_per_invoice = self.name
super(BadgeAndProfile, self).save()
attendee = models.OneToOneField(Attendee, on_delete=models.CASCADE)
# Things that appear on badge
name = models.CharField(
verbose_name="Your name (for your conference nametag)",
max_length=64,
help_text="Your name, as you'd like it to appear on your badge. ",
)
company = models.CharField(
help_text="The name of your company, as you'd like it on your badge",
blank=True,
free_text_1 = models.CharField(
verbose_name="Free text line 1",
help_text="A line of free text that will appear on your badge. Use "
"this for your Twitter handle, IRC nick, your preferred "
"pronouns or anything else you'd like people to see on "
"your badge.",
free_text_2 = models.CharField(