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
| {{ signed_count }}/{{ num_open_packets }} |
This will probably require injecting more data into the upperclassmen dict here so that it's accessible in the template.
| # Sum up the signed packets per upperclassman |
| upperclassmen=dict() |
| misc=dict() |
| forpacketinopen_packets: |
| forsiginpacket.upper_signatures: |
| ifsig.membernotinupperclassmen: |
| upperclassmen[sig.member] =0 |
| |
| ifsig.signed: |
| upperclassmen[sig.member] +=1 |
| forsiginpacket.misc_signatures: |
| misc[sig.member] =1+misc.get(sig.member, 0) |
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_totalin the active section. This aught to be$num_signed / $num_can_sign_as_upperpacket/packet/templates/upperclassmen_totals.html
Line 39 in f61cd2b
This will probably require injecting more data into the upperclassmen dict here so that it's accessible in the template.
packet/packet/routes/upperclassmen.py
Lines 51 to 62 in f61cd2b