diff options
Diffstat (limited to 'packet/routes/admin.py')
-rw-r--r-- | packet/routes/admin.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packet/routes/admin.py b/packet/routes/admin.py index 96a877b..f4ae1ca 100644 --- a/packet/routes/admin.py +++ b/packet/routes/admin.py @@ -1,3 +1,5 @@ +import datetime + from flask import render_template from packet import app @@ -29,6 +31,28 @@ def admin_packets(info=None): info=info) +@app.route('/admin/past-packets') +@log_cache +@packet_auth +@admin_auth +@before_request +@log_time +def admin_past_packets(info=None): + open_packets = Packet.opened_after(datetime.date.today() - datetime.timedelta(days=(30 * 4))) + + # Pre-calculate and store the return values of did_sign(), signatures_received(), and signatures_required() + for packet in open_packets: + packet.did_sign_result = packet.did_sign(info['uid'], app.config['REALM'] == 'csh') + packet.signatures_received_result = packet.signatures_received() + packet.signatures_required_result = packet.signatures_required() + + open_packets.sort(key=packet_sort_key, reverse=False) + + return render_template('admin_past_packets.html', + open_packets=open_packets, + info=info) + + @app.route('/admin/freshmen') @log_cache @packet_auth |