diff --git a/bases/rsptx/admin_server_api/routers/instructor.py b/bases/rsptx/admin_server_api/routers/instructor.py index 2f615b0b8..808fcd17c 100644 --- a/bases/rsptx/admin_server_api/routers/instructor.py +++ b/bases/rsptx/admin_server_api/routers/instructor.py @@ -1320,7 +1320,7 @@ async def get_create_course_page(request: Request, user=Depends(auth_manager)): course_list = await fetch_library_books() # Convert LibraryValidator objects to dicts for template compatibility course_list = [c.dict() for c in course_list if c.for_classes] - sections = sorted({c["shelf_section"] for c in course_list}) + sections = sorted({c["shelf_section"] or "Misc" for c in course_list}) context = { "request": request, "course_list": course_list, @@ -1447,7 +1447,7 @@ async def post_create_course_page( course_list = await fetch_library_books() # Convert LibraryValidator objects to dicts for template compatibility course_list = [c.dict() for c in course_list if c.for_classes] - sections = sorted({c["shelf_section"] for c in course_list}) + sections = sorted({c["shelf_section"] or "Misc" for c in course_list}) context = { "request": request, diff --git a/components/rsptx/db/crud/library.py b/components/rsptx/db/crud/library.py index a7b0f1e75..de6f3b0a5 100644 --- a/components/rsptx/db/crud/library.py +++ b/components/rsptx/db/crud/library.py @@ -65,7 +65,9 @@ async def create_library_book(bookid: str, vals: Dict[str, Any]) -> None: :param vals: Dict[str, Any], the dictionary containing the properties of the book :return: None """ - new_book = Library(**vals, basecourse=bookid) + book_vals = {"shelf_section": "Misc", **vals} + new_book = Library(**book_vals, basecourse=bookid) + async with async_session.begin() as session: session.add(new_book)