Skip to content

Stop assuming all upperclassmen are on every packet #294

Open
@mxmeinhold

Description

@mxmeinhold

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()
for packet in open_packets:
for sig in packet.upper_signatures:
if sig.member not in upperclassmen:
upperclassmen[sig.member] = 0
if sig.signed:
upperclassmen[sig.member] += 1
for sig in packet.misc_signatures:
misc[sig.member] = 1 + misc.get(sig.member, 0)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions