Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Application form - All tentative changes #14

Merged
merged 33 commits into from
Sep 26, 2024

Conversation

carmen-chau
Copy link
Contributor

@carmen-chau carmen-chau commented Sep 11, 2024

Summary

This branch will contain all changes requested to be made on the application form

Process: Not completed yet

Current changes made:

Change #1: Added Pronouns field [CHECKED]

  • Added the he/they dropdown option
  • Added the she/they dropdown option
  • IF the participant selected "other" for the pronoun drop down option, they would need to fill out an additional free-response section indiciating what they do go by (limit of 100 characters. This field is optional if the participant selects any other choice in the pronoun drop down.

Change #2: Added Gender field [CHECKED]

  • Like the pronoun section, if they select "Prefer to not self Describe", they will need to fill in an additional field

Change #3: Made Ethnicity field optional + hide it from form UI

  • Made field optional. Note: On the Django backend this field is still visible. Deleting Ethnicity completely can result in migration issues.....

Change #4: Added Tshirt field [CHECKED]

Change #5: Added Dietary Restriction field

  • If they select "Allergies" or "Other", they will need to fill in an additional field to provide more info
  • Note: Current field placement is not finalized, right now, the 2 dietary restriction fields are not in line

Change #6: Added a "Are you in a under-represented group in tech" field [CHECKED]

Change #7: Added a "Sexual identity" field

  • If they select "Different Identity", they will need to fill in an additional field

Change #8: Added a "Highest level of formal education" field

  • If they select "Other", they will need to fill in an additional field

Change #9: Reduced the number of allowed options for "Current education"

Change #10: Added a new "How many hackathons have you been to" question

Change #11: Added a new "Past hackathon experience" question

Change #12: Modified wording on technical experience question to include hardware AND software

Change #13: Added team role question

Change #14: Added Discover method question

Questions regarding suggested changes

  1. As an example, In the file: hackathon_site/registration/forms.py, we are enforcing the free response pronoun field as mandatory based on the conditions discussed in Summary by using raise forms.ValidationError. This matches what was done in previous years.

    In terms of UI the error message would appear at the VERY TOP of the form, instead of right below the form field. This is not an issue if we use something like self.add_error.

    However, after initial research, raise forms.ValidationError seems more comprehensive in terms of stopping form submission?

    Any thoughts or context about this appreciated!

  2. Making sure that the ethnicity field is properly set to optional.... to avoid any future migration issues down the road

QA testing

  1. Make sure you have an account with Newhacks (and that you have not submitted an application yet),

  2. In landing.html, in line 47, instead of writing: {% if application is none and is_application_open() %}, change it to {% if application is none and is_registration_open() %}. This temporary change allows you to see the "Continue Application" button at the homepage of Newhacks (do not go to Dashboard directly)

  3. Test to see whether each added form fields work properly. For fields like pronoun, gender, test the free response field accordingly as well

Questions regarding QA testing

  1. In terms of testing, as long as the new form fields can be seen on the Django admin table, we are fine? Is there anything else to look out for?

  2. Due to time constraints in getting the revised registration form out, might not have time to manually edit all the test files to make the test cases pass accordingly... would this be ok or would this pose a concern down the road

Pending list of todo's

  • Fix error message formatting
  • If multiple error message thrown, make them all appear
  • Might need to more thoroughly flush out the "other" options for the current education section [not explicitly mentioned in google doc]
  • Need to add word count for all NEW "elaborate on the other" fields

Misc changes to make

  • Might need to update the black pkg version to the most recent one (19.3b0) to prevent formatting discrepancies between CI/CD check and local. The reason why black was sometimes failing was because CI/CD uses version 19.3b0 whereas local uses an earlier version (19.10b0). This PR may provide more insight.

@carmen-chau carmen-chau changed the title test changes Registration form - Pronoun Changes Sep 11, 2024
@carmen-chau carmen-chau changed the title Registration form - Pronoun Changes Application form - All tentative changes Sep 14, 2024
@Mustaballer
Copy link
Contributor

@carmen-chau This is looking great! I tested the form a few times, and its working just as expected. There are few things I did notice that seem a little off, specifically the spacing for the error messages on top.

For the gender related error, the spacing is fine. Also in my case, if I missed to specify my gender, allergy etc, it only lists the first error in the form, and not all of them. Ideally, this is not required, but it would display all those errors.

image
image
image

@Mustaballer
Copy link
Contributor

@carmen-chau Regarding your questions:

  1. You can definitely use forms.ValidationError if that works better for you. You can refer to the code to see examples of how its used.

  2. In terms of testing, as long as the new form fields can be seen on the Django admin table, you are fine!?

  3. That's totally fine, you don't need to to manually edit all the test files to make the test cases pass. Ideally if you have more time like for MakeUofT, then you can worry about getting test cases to pass.

@carmen-chau carmen-chau merged commit 76c0399 into develop Sep 26, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants