ComputerScienceHouse / ComputerScienceHouse/packet

Stop assuming all upperclassmen are on every packet

Open
#294 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Python
Stars
25
Forks
33
PR merge metrics
No merged PRs in 30d

Description

This line makes the assumption that every single upperclassman is a required signature on every packet. This may not be the case, due to e.g. changes in membership state that don't influence earlier packets. This results in a confusing list of signature counts when an upperclassman is required on only some of the packets, since they are listed as `$num_signed / $num_total` in the active section. This aught to be `$num_signed / $num_can_sign_as_upper`
https://github.com/ComputerScienceHouse/packet/blob/f61cd2b5b616e3b7f35fad95b515313ea2d50bcb/packet/templates/upperclassmen_totals.html#L39

This will probably require injecting more data into the upperclassmen dict here so that it's accessible in the template.
https://github.com/ComputerScienceHouse/packet/blob/f61cd2b5b616e3b7f35fad95b515313ea2d50bcb/packet/routes/upperclassmen.py#L51-L62

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with packet/templates/upperclassmen_totals.html at line 39 and packet/routes/upperclassmen.py at lines 51-62. Trace how the upperclassmen data reaches the active section, then ensure the displayed denominator counts only packets each upperclassman can sign. Done means the active counts use num_can_sign_as_upper rather than num_total when membership state excludes earlier packets.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.