@@ -32,10 +32,24 @@ def display_intro_evals(internal=False, user_dict=None):
32
32
log .info ('Display Intro Evals Listing' )
33
33
34
34
# get user data
35
- def get_fid_cm_count (member_id ):
36
- return len ([a for a in FreshmanCommitteeAttendance .query .filter (
37
- FreshmanCommitteeAttendance .fid == member_id )
38
- if CommitteeMeeting .query .filter (CommitteeMeeting .id == a .meeting_id ).first ().approved ])
35
+ def get_fid_cm (member ):
36
+ c_meetings = [{
37
+ "uid" : cm [0 ],
38
+ "timestamp" : cm [1 ],
39
+ "committee" : cm [2 ]
40
+ } for cm in CommitteeMeeting .query .join (
41
+ FreshmanCommitteeAttendance ,
42
+ FreshmanCommitteeAttendance .meeting_id == CommitteeMeeting .id
43
+ ).with_entities (
44
+ FreshmanCommitteeAttendance .fid ,
45
+ CommitteeMeeting .timestamp ,
46
+ CommitteeMeeting .committee
47
+ ).filter (
48
+ CommitteeMeeting .timestamp > start_of_year (),
49
+ FreshmanCommitteeAttendance .fid == member ,
50
+ CommitteeMeeting .approved == True # pylint: disable=singleton-comparison
51
+ ).all ()]
52
+ return c_meetings
39
53
40
54
members = ldap_get_intro_members ()
41
55
@@ -64,8 +78,12 @@ def get_fid_cm_count(member_id):
64
78
'uid' : fid .id ,
65
79
'eval_date' : fid .eval_date .strftime ("%Y-%m-%d" ),
66
80
'signatures_missed' : signatures_missed ,
67
- 'committee_meetings' : get_fid_cm_count (fid .id ),
68
- 'committee_meetings_passed' : get_fid_cm_count (fid .id ) >= 6 ,
81
+ 'committee_meetings' : [{
82
+ "uid" : cm ['uid' ],
83
+ "timestamp" : cm ['timestamp' ].strftime ("%Y-%m-%d" ),
84
+ "committee" : cm ['committee' ]
85
+ } for cm in get_fid_cm (fid .id )],
86
+ 'committee_meetings_passed' : len (get_fid_cm (fid .id )) >= 6 ,
69
87
'house_meetings_missed' :
70
88
[
71
89
{
@@ -113,7 +131,11 @@ def get_fid_cm_count(member_id):
113
131
'uid' : uid ,
114
132
'eval_date' : freshman_data .eval_date .strftime ("%Y-%m-%d" ),
115
133
'signatures_missed' : freshman_data .signatures_missed ,
116
- 'committee_meetings' : len (get_cm (member )),
134
+ 'committee_meetings' : [{
135
+ "uid" : cm ['uid' ],
136
+ "timestamp" : cm ['timestamp' ].strftime ("%Y-%m-%d" ),
137
+ "committee" : cm ['committee' ]
138
+ } for cm in get_cm (member )],
117
139
'committee_meetings_passed' : len (get_cm (member )) >= 6 ,
118
140
'house_meetings_missed' :
119
141
[
@@ -147,7 +169,7 @@ def get_fid_cm_count(member_id):
147
169
ie_members .append (member_info )
148
170
149
171
ie_members .sort (key = lambda x : len (x ['house_meetings_missed' ]))
150
- ie_members .sort (key = lambda x : x ['committee_meetings ' ], reverse = True )
172
+ ie_members .sort (key = lambda x : x ['committee_meetings_passed ' ], reverse = True )
151
173
ie_members .sort (key = lambda x : x ['signatures_missed' ])
152
174
ie_members .sort (key = lambda x : x ['status' ] == "Passed" )
153
175
0 commit comments