From 3073587ba0900733c902f79bfac2822d93b70384 Mon Sep 17 00:00:00 2001 From: Derek Date: Fri, 3 Jul 2026 21:10:11 -0400 Subject: [PATCH 1/3] feat: MLH checkbox updates --- .../0012_update_mlh_checkbox_text.py | 28 +++++++++++++++++++ hackathon_site/event/models.py | 9 +++--- hackathon_site/event/tests.py | 2 +- .../0014_update_mlh_checkbox_text.py | 28 +++++++++++++++++++ hackathon_site/registration/models.py | 9 +++--- 5 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py create mode 100644 hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py diff --git a/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py b/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py new file mode 100644 index 0000000..a462b1c --- /dev/null +++ b/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.15 on 2026-07-03 22:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('event', '0011_interestsubmission'), + ] + + operations = [ + migrations.AlterField( + model_name='interestsubmission', + name='conduct_agree', + field=models.BooleanField(default=False, help_text='I have read and agree to the MLH Code of Conduct.'), + ), + migrations.AlterField( + model_name='interestsubmission', + name='email_agree', + field=models.BooleanField(blank=True, default=False, help_text='I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.', null=True), + ), + migrations.AlterField( + model_name='interestsubmission', + name='logistics_agree', + field=models.BooleanField(default=False, help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.'), + ), + ] diff --git a/hackathon_site/event/models.py b/hackathon_site/event/models.py index 53af302..5bdd738 100644 --- a/hackathon_site/event/models.py +++ b/hackathon_site/event/models.py @@ -328,25 +328,26 @@ class InterestSubmission(models.Model): # registration.models.Application verbatim. conduct_agree = models.BooleanField( help_text="I have read and agree to the " - 'MLH code of conduct.', + 'MLH Code of Conduct.', blank=False, null=False, default=False, ) logistics_agree = models.BooleanField( help_text="I authorize you to share my application/registration information with Major League Hacking" - " for event administration, ranking, and MLH administration in-line with the " + " for event administration, ranking, and administration (including the creation of linked accounts on MLH and " + 'DEV (dev.to)) in line with the ' 'MLH Privacy Policy. ' "I further agree to the terms of both the " 'MLH Contest Terms and Conditions' " and the " - 'MLH Privacy Policy.', + 'MLH Privacy Policy.', blank=False, null=False, default=False, ) email_agree = models.BooleanField( - help_text="I authorize MLH to send me occasional emails about relevant events, career opportunities, and community announcements.", + help_text="I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.", blank=True, null=True, default=False, diff --git a/hackathon_site/event/tests.py b/hackathon_site/event/tests.py index 95f0e49..51f20a3 100644 --- a/hackathon_site/event/tests.py +++ b/hackathon_site/event/tests.py @@ -138,7 +138,7 @@ def test_interest_form_renders(self): """The public MLH interest form and its checkboxes render on the page.""" response = self.client.get(self.view) self.assertContains(response, "Register Your Interest") - self.assertContains(response, "MLH code of conduct") + self.assertContains(response, "MLH Code of Conduct") self.assertContains(response, 'name="conduct_agree"') self.assertContains(response, 'name="logistics_agree"') self.assertContains(response, 'name="email_agree"') diff --git a/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py b/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py new file mode 100644 index 0000000..f91f6fd --- /dev/null +++ b/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.15 on 2026-07-03 22:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('registration', '0013_auto_20251128_1027'), + ] + + operations = [ + migrations.AlterField( + model_name='application', + name='conduct_agree', + field=models.BooleanField(default=False, help_text='I have read and agree to the MLH Code of Conduct.'), + ), + migrations.AlterField( + model_name='application', + name='email_agree', + field=models.BooleanField(blank=True, default=False, help_text='I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.', null=True), + ), + migrations.AlterField( + model_name='application', + name='logistics_agree', + field=models.BooleanField(default=False, help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.'), + ), + ] diff --git a/hackathon_site/registration/models.py b/hackathon_site/registration/models.py index cbc0c97..722f63a 100644 --- a/hackathon_site/registration/models.py +++ b/hackathon_site/registration/models.py @@ -349,26 +349,27 @@ class Application(models.Model): ) conduct_agree = models.BooleanField( help_text="I have read and agree to the " - 'MLH code of conduct.', + 'MLH Code of Conduct.', blank=False, null=False, default=False, ) logistics_agree = models.BooleanField( help_text="I authorize you to share my application/registration information with Major League Hacking" - " for event administration, ranking, and MLH administration in-line with the " + " for event administration, ranking, and administration (including the creation of linked accounts on MLH and " + 'DEV (dev.to)) in line with the ' 'MLH Privacy Policy. ' "I further agree to the terms of both the " 'MLH Contest Terms and Conditions' " and the " - 'MLH Privacy Policy.', + 'MLH Privacy Policy.', blank=False, null=False, default=False, ) email_agree = models.BooleanField( - help_text="I authorize MLH to send me occasional emails about relevant events, career opportunities, and community announcements.", + help_text="I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.", blank=True, null=True, default=False, From 274c6717de10d04436724ebfdaa1f7ec95e3ee20 Mon Sep 17 00:00:00 2001 From: Derek Date: Fri, 3 Jul 2026 22:04:57 -0400 Subject: [PATCH 2/3] fix: black formatting --- .../0012_update_mlh_checkbox_text.py | 31 +++++++++++++------ .../0014_update_mlh_checkbox_text.py | 31 +++++++++++++------ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py b/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py index a462b1c..e649288 100644 --- a/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py +++ b/hackathon_site/event/migrations/0012_update_mlh_checkbox_text.py @@ -6,23 +6,34 @@ class Migration(migrations.Migration): dependencies = [ - ('event', '0011_interestsubmission'), + ("event", "0011_interestsubmission"), ] operations = [ migrations.AlterField( - model_name='interestsubmission', - name='conduct_agree', - field=models.BooleanField(default=False, help_text='I have read and agree to the MLH Code of Conduct.'), + model_name="interestsubmission", + name="conduct_agree", + field=models.BooleanField( + default=False, + help_text='I have read and agree to the MLH Code of Conduct.', + ), ), migrations.AlterField( - model_name='interestsubmission', - name='email_agree', - field=models.BooleanField(blank=True, default=False, help_text='I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.', null=True), + model_name="interestsubmission", + name="email_agree", + field=models.BooleanField( + blank=True, + default=False, + help_text="I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.", + null=True, + ), ), migrations.AlterField( - model_name='interestsubmission', - name='logistics_agree', - field=models.BooleanField(default=False, help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.'), + model_name="interestsubmission", + name="logistics_agree", + field=models.BooleanField( + default=False, + help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.', + ), ), ] diff --git a/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py b/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py index f91f6fd..719ab4d 100644 --- a/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py +++ b/hackathon_site/registration/migrations/0014_update_mlh_checkbox_text.py @@ -6,23 +6,34 @@ class Migration(migrations.Migration): dependencies = [ - ('registration', '0013_auto_20251128_1027'), + ("registration", "0013_auto_20251128_1027"), ] operations = [ migrations.AlterField( - model_name='application', - name='conduct_agree', - field=models.BooleanField(default=False, help_text='I have read and agree to the MLH Code of Conduct.'), + model_name="application", + name="conduct_agree", + field=models.BooleanField( + default=False, + help_text='I have read and agree to the MLH Code of Conduct.', + ), ), migrations.AlterField( - model_name='application', - name='email_agree', - field=models.BooleanField(blank=True, default=False, help_text='I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.', null=True), + model_name="application", + name="email_agree", + field=models.BooleanField( + blank=True, + default=False, + help_text="I authorize MLH + DEV to send me occasional emails about relevant events, career opportunities, and community announcements.", + null=True, + ), ), migrations.AlterField( - model_name='application', - name='logistics_agree', - field=models.BooleanField(default=False, help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.'), + model_name="application", + name="logistics_agree", + field=models.BooleanField( + default=False, + help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV (dev.to)) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.', + ), ), ] From 448fd5ca597298c327a01e78731b49969dc3f486 Mon Sep 17 00:00:00 2001 From: Derek Date: Fri, 10 Jul 2026 13:36:29 -0400 Subject: [PATCH 3/3] fix: links and policy --- .../migrations/0013_fix_mlh_dev_link_text.py | 21 +++++++++++++++++++ hackathon_site/event/models.py | 6 +++--- .../migrations/0015_fix_mlh_dev_link_text.py | 21 +++++++++++++++++++ hackathon_site/registration/models.py | 6 +++--- 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 hackathon_site/event/migrations/0013_fix_mlh_dev_link_text.py create mode 100644 hackathon_site/registration/migrations/0015_fix_mlh_dev_link_text.py diff --git a/hackathon_site/event/migrations/0013_fix_mlh_dev_link_text.py b/hackathon_site/event/migrations/0013_fix_mlh_dev_link_text.py new file mode 100644 index 0000000..264c766 --- /dev/null +++ b/hackathon_site/event/migrations/0013_fix_mlh_dev_link_text.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.15 on 2026-07-10 17:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("event", "0012_update_mlh_checkbox_text"), + ] + + operations = [ + migrations.AlterField( + model_name="interestsubmission", + name="logistics_agree", + field=models.BooleanField( + default=False, + help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.', + ), + ), + ] diff --git a/hackathon_site/event/models.py b/hackathon_site/event/models.py index 5bdd738..884bf63 100644 --- a/hackathon_site/event/models.py +++ b/hackathon_site/event/models.py @@ -336,12 +336,12 @@ class InterestSubmission(models.Model): logistics_agree = models.BooleanField( help_text="I authorize you to share my application/registration information with Major League Hacking" " for event administration, ranking, and administration (including the creation of linked accounts on MLH and " - 'DEV (dev.to)) in line with the ' - 'MLH Privacy Policy. ' + 'DEV) in line with the ' + "MLH Privacy Policy. " "I further agree to the terms of both the " 'MLH Contest Terms and Conditions' " and the " - 'MLH Privacy Policy.', + "MLH Privacy Policy.", blank=False, null=False, default=False, diff --git a/hackathon_site/registration/migrations/0015_fix_mlh_dev_link_text.py b/hackathon_site/registration/migrations/0015_fix_mlh_dev_link_text.py new file mode 100644 index 0000000..885859c --- /dev/null +++ b/hackathon_site/registration/migrations/0015_fix_mlh_dev_link_text.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.15 on 2026-07-10 17:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("registration", "0014_update_mlh_checkbox_text"), + ] + + operations = [ + migrations.AlterField( + model_name="application", + name="logistics_agree", + field=models.BooleanField( + default=False, + help_text='I authorize you to share my application/registration information with Major League Hacking for event administration, ranking, and administration (including the creation of linked accounts on MLH and DEV) in line with the MLH Privacy Policy. I further agree to the terms of both the MLH Contest Terms and Conditions and the MLH Privacy Policy.', + ), + ), + ] diff --git a/hackathon_site/registration/models.py b/hackathon_site/registration/models.py index 722f63a..00b638e 100644 --- a/hackathon_site/registration/models.py +++ b/hackathon_site/registration/models.py @@ -357,12 +357,12 @@ class Application(models.Model): logistics_agree = models.BooleanField( help_text="I authorize you to share my application/registration information with Major League Hacking" " for event administration, ranking, and administration (including the creation of linked accounts on MLH and " - 'DEV (dev.to)) in line with the ' - 'MLH Privacy Policy. ' + 'DEV) in line with the ' + "MLH Privacy Policy. " "I further agree to the terms of both the " 'MLH Contest Terms and Conditions' " and the " - 'MLH Privacy Policy.', + "MLH Privacy Policy.", blank=False, null=False, default=False,