File tree Expand file tree Collapse file tree 1 file changed +13
-7
lines changed
Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -220,14 +220,20 @@ def search_course(
220220
221221
222222@router .get ("/filter/values/{filter}" )
223- def get_filter_values (session : SessionDep , filter : CourseFilter ) -> list [ str ]:
224- column = None
223+ def get_filter_values (session : SessionDep , filter : CourseFilter ) -> dict [ str , str ]:
224+ code_col , title_col = None , None
225225 if filter is CourseFilter .subjects :
226- column = Subject .subj_code
226+ code_col = Subject .subj_code
227+ title_col = Subject .title
227228 elif filter is CourseFilter .attributes :
228- column = Attribute .attr_code
229+ code_col = Attribute .attr_code
230+ title_col = Attribute .title
229231 elif filter is CourseFilter .semesters :
230- column = Course_Offering .semester
232+ result_scalars = (
233+ session .execute (select (Course_Offering .semester ).distinct ()).scalars ().all ()
234+ )
235+ return {sem : sem .capitalize () for sem in result_scalars }
231236 else :
232- return None
233- return session .execute (select (column ).distinct ()).scalars ().all ()
237+ return {}
238+ result_mappings = session .execute (select (code_col , title_col )).mappings ().all ()
239+ return {row [code_col ]: row [title_col ] for row in result_mappings }
You can’t perform that action at this time.
0 commit comments