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

Elections revamp #57

Closed
jameslzhu opened this issue Mar 19, 2019 · 0 comments · Fixed by #473
Closed

Elections revamp #57

jameslzhu opened this issue Mar 19, 2019 · 0 comments · Fixed by #473
Assignees

Comments

@jameslzhu
Copy link
Member

Tangentially related to #52.

We have an older candidate project, #23, which added an elections page. I think this app needs some refactoring to accomodate committees, committee officer counts, and positions which may vary over time.

Concretely, this means that you would have to:

  • Create a Committee model (ideally, reuse the one from Officer cleanup #21)
  • Adjust the code / forms to accomodate a varying number of officers (since this changes semester-to-semester, it would be impractical to encode a limit / number anywhere in the code, including in the Committee model, instead allowing any number of officers to be elected any election)
  • Create a Position model (idk, you should see if this works or not) which refers to the position people are elected to: officer, assistant officer, committee. Currently in the hkn-rails site this is a string, but strings are easy to mess up. A link to a database object as a ForeignKey would be harder to mess up.
  • (optional) create an Committeeship model, tied to a specific semester and a committee, so that a single person would have multiple Committeeship (i.e. the Committeeship model should have a ForeignKey to a user), and use that to codify people's election to a position
  • Rewrite the election form with all of these changes
  • (optional) create an election log, noting who was nominated to each position in addition to who was elected.

I'm judging this as an easy project due to the limited amount of design work for this; code-wise this is a highly constrained project (you're refactoring code, if the code works as before you're doing it right) but does need you to learn how Django models and forms work.

Pretty minimal UI experience needed.

@Shivin302 Shivin302 self-assigned this Apr 29, 2019
@jameslzhu jameslzhu added this to Needs triage in Beta issue triage Oct 21, 2019
@bri25yu bri25yu removed the easy label Sep 21, 2020
@bri25yu bri25yu added tracking and removed project labels May 6, 2022
@bri25yu bri25yu linked a pull request May 21, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Beta issue triage
  
Needs triage
Development

Successfully merging a pull request may close this issue.

3 participants