@@ -69,156 +69,161 @@ class AttendeeProfile(rego.AttendeeProfileBase):
if errors:
raise ValidationError(dict(errors))
def save(self):
if not self.name_per_invoice:
self.name_per_invoice = self.name
super(AttendeeProfile, self).save()
# 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(
verbose_name="Company",
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(
verbose_name="Free text line 2",
# Other important Information
name_per_invoice = models.CharField(
verbose_name="Your legal name (for invoicing purposes)",
max_length=256,
help_text="If your legal name is different to the name on your badge, "
"fill this in, and we'll put it on your invoice. Otherwise, "
"leave it blank.",
address_line_1 = models.CharField(
verbose_name="Address line 1",
help_text="This address, if provided, will appear on your invoices.",
help_text="This address, if provided, will appear on your invoices. "
"It is also where we will ship your Swag Badge "
"if you are allocated one.",
max_length=1024,
address_line_2 = models.CharField(
verbose_name="Address line 2",
address_suburb = models.CharField(
verbose_name="City/Town/Suburb",
address_postcode = models.CharField(
verbose_name="Postal/Zip code",
country = CountryField(
verbose_name="Country",
default="AU",
state = models.CharField(
verbose_name="State/Territory/Province",
help_text="If your Country is Australia, you must list a state.",
of_legal_age = models.BooleanField(
verbose_name="Are you over 18?",
help_text="Being under 18 will not stop you from attending the "
"conference. We need to know whether you are over 18 to "
"allow us to cater for you at venues that serve alcohol.",
blank=True, # LCA2021 - not needed.
default=False,
dietary_restrictions = models.CharField(
verbose_name="Food allergies, intolerances, or dietary restrictions",
accessibility_requirements = models.CharField(
verbose_name="Accessibility-related requirements",
gender = models.CharField(
verbose_name="Gender",
help_text="Gender data will only be used for demographic purposes.",
children = models.CharField(
verbose_name="Child Ages and Information",
help_text="Linux.conf.au is a family friendly conference and provides "
"free child-care for pre-school children from 6 months up to 5 years. We "
"hope to also provide a programme for older children and will let you "
"know closer to the conference. If you're wanting to bring your children "
"to LCA, please let us know their age(s) so we can ensure we have "
"enough spaces available.",
blank=True
linux_australia = models.BooleanField(
verbose_name="Linux Australia membership",
help_text="Select this field to register for free "
"<a href='http://www.linux.org.au/'>Linux Australia</a> "
"membership.",
lca_announce = models.BooleanField(
verbose_name="Subscribe to lca-announce list",
help_text="Select to be subscribed to the low-traffic lca-announce "
"mailing list",
lca_chat = models.BooleanField(
verbose_name="Subscribe to the LCA chat list",
help_text="lca-chat is a high-traffic mailing list used by "
"attendees during the week of the conference for general "
"discussion.",
future_conference = models.BooleanField(
verbose_name = "Reuse my login for future Linux Australia conferences?",
help_text="Select to have your login details made available to future "
"Linux Australia conferences who share the same Single Sign "
"On system.",
past_lca = models.ManyToManyField(
PastEvent,
verbose_name="Which past linux.conf.au events have you attended?",
def first_name(self):
return wrap(self.name, 15, break_long_words=False)[0]
def last_name(self):
names = wrap(self.name, 15, break_long_words=False)
return names[1] if len(names) > 1 else ''