Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions packet/routes/upperclassmen.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
"""
import json

from itertools import chain
from operator import itemgetter
from flask import redirect, render_template, url_for

from packet import app
from packet.models import Packet, MiscSignature
from packet.models import Packet
from packet.utils import before_request, packet_auth
from packet.log_utils import log_cache, log_time
from packet.stats import packet_stats
Expand Down Expand Up @@ -51,18 +50,20 @@ def upperclassmen_total(info=None):

# Sum up the signed packets per upperclassman
upperclassmen = dict()
misc = dict()
for packet in open_packets:
for sig in chain(packet.upper_signatures, packet.misc_signatures):
for sig in packet.upper_signatures:
if sig.member not in upperclassmen:
upperclassmen[sig.member] = 0

if isinstance(sig, MiscSignature):
upperclassmen[sig.member] += 1
elif sig.signed:
upperclassmen[sig.member] += 1
if sig.signed:
upperclassmen[sig.member] += 1
for sig in packet.misc_signatures:
misc[sig.member] = 1 + misc.get(sig.member, 0)

return render_template('upperclassmen_totals.html', info=info, num_open_packets=len(open_packets),
upperclassmen=sorted(upperclassmen.items(), key=itemgetter(1), reverse=True))
upperclassmen=sorted(upperclassmen.items(), key=itemgetter(1), reverse=True),
misc=sorted(misc.items(), key=itemgetter(1), reverse=True))


@app.route('/stats/packet/<packet_id>')
Expand Down
38 changes: 36 additions & 2 deletions packet/templates/upperclassmen_totals.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ <h3 class="page-title">Upperclassmen Signatures</h3>
<div id="eval-blocks">
{% if num_open_packets > 0 %}
<div id="eval-table">
<div class="card">
<div class="card mb-2">
<div class="card-body table-fill">
<div class="table-responsive">
<table class="table table-striped no-bottom-margin" data-module="table"
data-searchable="true" data-sort-column="1" data-sort-order="asc"
data-length-changable="true" data-paginated="false">
<thead>
<tr>
<th>Upperclassman</th>
<th>Active Member</th>
<th>Signatures</th>
</tr>
</thead>
Expand All @@ -45,6 +45,40 @@ <h3 class="page-title">Upperclassmen Signatures</h3>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-body table-fill">
<div class="table-responsive">
<table class="table table-striped no-bottom-margin" data-module="table"
data-searchable="true" data-sort-column="1" data-sort-order="asc"
data-length-changable="true" data-paginated="false">
<thead>
<tr>
<th>Alumni or Advisor</th>
<th>Signatures</th>
</tr>
</thead>
<tbody>
{% for member, signed_count in misc %}
<tr>
<td>
<a href="{{ url_for("upperclassman", uid=member) }}">
<img class="eval-user-img"
alt="{{ member }}"
src="https://profiles.csh.rit.edu/image/{{ member }}"
width="25"
height="25"/> {{ get_csh_name(member) }}
</a>
</td>
<td>
{{ signed_count }}/{{ num_open_packets }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% else %}
<div class="alert alert-info" role="alert">
Expand Down