aboutsummaryrefslogtreecommitdiff
path: root/packet/routes/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'packet/routes/admin.py')
-rw-r--r--packet/routes/admin.py24
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