1+ from time import perf_counter
12import structlog
23from flask import Blueprint , request
34from sqlalchemy import func
@@ -58,6 +59,12 @@ def display_spring_evals(internal=False, user_dict=None):
5859 MajorProject .date >= start_of_year ()
5960 ).all ()
6061
62+ coop_members = CurrentCoops .query .filter (
63+ CurrentCoops .date_created >= start_of_year ()
64+ ).with_entities (
65+ func .array_agg (CurrentCoops .uid )
66+ ).scalar ()
67+
6168 major_projects = {}
6269
6370 for project in major_project_query :
@@ -73,6 +80,8 @@ def display_spring_evals(internal=False, user_dict=None):
7380 sp_members = []
7481 for account in active_members :
7582 uid = account .uid
83+ name = account .cn
84+
7685 spring_entry = SpringEval .query .filter (
7786 SpringEval .date_created > start_of_year (),
7887 SpringEval .uid == uid ,
@@ -100,18 +109,23 @@ def display_spring_evals(internal=False, user_dict=None):
100109 func .array_agg (HouseMeeting .date )
101110 ).scalar ()
102111
112+ cm_attended_count = cm_count .get (uid , 0 )
113+ member_major_projects = major_projects .get (uid , [])
114+
115+ passed_mps = [project for project in member_major_projects if project ['status' ] == 'Passed' ]
116+
117+ req_cm_count = req_cm (uid , coop_members )
118+
103119 member = {
104- 'name' : account . cn ,
120+ 'name' : name ,
105121 'uid' : uid ,
106122 'status' : spring_entry .status ,
107- 'committee_meetings' : cm_count . get ( uid , 0 ) ,
108- 'req_meetings' : req_cm ( account ) ,
123+ 'committee_meetings' : cm_attended_count ,
124+ 'req_meetings' : req_cm_count ,
109125 'house_meetings_missed' : member_missed_hms ,
110- 'major_projects' : major_projects . get ( uid , [])
126+ 'major_projects' : member_major_projects
111127 }
112128
113- passed_mps = [project for project in member ['major_projects' ] if project ['status' ] == 'Passed' ]
114-
115129 member ['major_projects_len' ] = len (member ['major_projects' ])
116130 member ['major_projects_passed' ] = passed_mps
117131 member ['major_projects_passed_len' ] = len (member ['major_projects_passed' ])
0 commit comments