1919from conditional .util .auth import get_user
2020from conditional .util .flask import render_template
2121from conditional .util .ldap import ldap_get_intro_members
22+ from conditional .util .member import get_semester_info
2223
2324intro_evals_bp = Blueprint ('intro_evals_bp' , __name__ )
2425
2526logger = structlog .get_logger ()
2627
2728def get_intro_members_without_accounts ():
29+ _ , semester_start = get_semester_info ()
2830 freshman_cm_count = dict ([tuple (row ) for row in FreshmanCommitteeAttendance .query .join (
2931 CommitteeMeeting ,
3032 FreshmanCommitteeAttendance .meeting_id == CommitteeMeeting .id
@@ -34,7 +36,7 @@ def get_intro_members_without_accounts():
3436 CommitteeMeeting .approved ,
3537 ).filter (
3638 CommitteeMeeting .approved ,
37- CommitteeMeeting .timestamp >= start_of_year ()
39+ CommitteeMeeting .timestamp >= semester_start
3840 ).with_entities (
3941 FreshmanCommitteeAttendance .fid ,
4042 func .count (FreshmanCommitteeAttendance .fid ) #pylint: disable=not-callable
@@ -64,7 +66,7 @@ def get_intro_members_without_accounts():
6466 TechnicalSeminar .approved
6567 ).filter (
6668 TechnicalSeminar .approved ,
67- TechnicalSeminar .timestamp >= start_of_year ()
69+ TechnicalSeminar .timestamp >= semester_start
6870 ).with_entities (
6971 FreshmanSeminarAttendance .fid ,
7072 TechnicalSeminar .name
@@ -80,7 +82,7 @@ def get_intro_members_without_accounts():
8082
8183 # freshmen who don't have accounts
8284 freshman_accounts = list (FreshmanAccount .query .filter (
83- FreshmanAccount .eval_date > start_of_year () ,
85+ FreshmanAccount .eval_date > semester_start ,
8486 FreshmanAccount .eval_date > datetime .now ()))
8587
8688 ie_members = []
@@ -92,7 +94,7 @@ def get_intro_members_without_accounts():
9294 HouseMeeting ,
9395 FreshmanHouseMeetingAttendance .meeting_id == HouseMeeting .id
9496 ).filter (
95- HouseMeeting .date >= start_of_year () , # TODO: this needs to be fixed
97+ HouseMeeting .date >= semester_start , # TODO: this needs to be fixed
9698 FreshmanHouseMeetingAttendance .attendance_status == 'Absent' ,
9799 FreshmanHouseMeetingAttendance .fid == freshman_account .id ,
98100 ).with_entities (
@@ -135,6 +137,8 @@ def display_intro_evals(internal=False, user_dict=None):
135137
136138 ie_members = get_intro_members_without_accounts ()
137139
140+ _ , semester_start = get_semester_info ()
141+
138142 account_cm_count = dict ([tuple (row ) for row in MemberCommitteeAttendance .query .join (
139143 CommitteeMeeting ,
140144 MemberCommitteeAttendance .meeting_id == CommitteeMeeting .id
@@ -144,7 +148,7 @@ def display_intro_evals(internal=False, user_dict=None):
144148 CommitteeMeeting .approved ,
145149 ).filter (
146150 CommitteeMeeting .approved ,
147- CommitteeMeeting .timestamp >= start_of_year ()
151+ CommitteeMeeting .timestamp >= semester_start
148152 ).with_entities (
149153 MemberCommitteeAttendance .uid ,
150154 func .count (MemberCommitteeAttendance .uid ) #pylint: disable=not-callable
@@ -156,7 +160,7 @@ def display_intro_evals(internal=False, user_dict=None):
156160 HouseMeeting ,
157161 MemberHouseMeetingAttendance .meeting_id == HouseMeeting .id
158162 ).filter (
159- HouseMeeting .date >= start_of_year () ,
163+ HouseMeeting .date >= semester_start ,
160164 MemberHouseMeetingAttendance .attendance_status == 'Absent'
161165 ).with_entities (
162166 MemberHouseMeetingAttendance .uid ,
@@ -174,7 +178,7 @@ def display_intro_evals(internal=False, user_dict=None):
174178 TechnicalSeminar .approved
175179 ).filter (
176180 TechnicalSeminar .approved ,
177- TechnicalSeminar .timestamp >= start_of_year ()
181+ TechnicalSeminar .timestamp >= semester_start
178182 ).with_entities (
179183 MemberSeminarAttendance .uid ,
180184 TechnicalSeminar .name
@@ -186,14 +190,14 @@ def display_intro_evals(internal=False, user_dict=None):
186190 if not row [0 ] in account_ts_attendance_dict :
187191 account_ts_attendance_dict [row [0 ]] = []
188192
189- account_ts_attendance_dict [row [0 ]].append (row [1 ])
193+ account_ts_attendance_dict [row [0 ]].append (row [1 ])
190194
191195 # freshmen who have accounts
192196 for member in members :
193197 uid = member .uid
194198 name = member .cn
195199 freshman_data = FreshmanEvalData .query .filter (
196- FreshmanEvalData .eval_date > start_of_year () ,
200+ FreshmanEvalData .eval_date > semester_start ,
197201 FreshmanEvalData .uid == uid ).first ()
198202
199203 if freshman_data is None :
@@ -208,7 +212,7 @@ def display_intro_evals(internal=False, user_dict=None):
208212 HouseMeeting ,
209213 MemberHouseMeetingAttendance .meeting_id == HouseMeeting .id
210214 ).filter (
211- HouseMeeting .date >= start_of_year () ,
215+ HouseMeeting .date >= semester_start ,
212216 MemberHouseMeetingAttendance .attendance_status == 'Absent' ,
213217 MemberHouseMeetingAttendance .uid == uid ,
214218 ).with_entities (
0 commit comments