From eebaef667940378d0b2d7b85353570d188bbb330 Mon Sep 17 00:00:00 2001 From: swve Date: Mon, 20 Feb 2023 00:00:28 +0100 Subject: [PATCH] fix: chapters and lectures order issue --- front/components/Modals/Modal.tsx | 3 +++ src/services/courses/chapters.py | 16 ++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/front/components/Modals/Modal.tsx b/front/components/Modals/Modal.tsx index 4c54d4ee..7923df5b 100644 --- a/front/components/Modals/Modal.tsx +++ b/front/components/Modals/Modal.tsx @@ -34,6 +34,9 @@ const Overlay = styled.div` width: 100%; height: 100%; z-index: 100; + background-color: #00000029; + backdrop-filter: blur(1px); + `; const Content = styled.div` diff --git a/src/services/courses/chapters.py b/src/services/courses/chapters.py index 651bc58e..67a6e17f 100644 --- a/src/services/courses/chapters.py +++ b/src/services/courses/chapters.py @@ -26,7 +26,7 @@ class CourseChapterInDB(CourseChapter): # Frontend class CourseChapterMetaData(BaseModel): chapterOrder: List[str] - chapters: object + chapters: dict lectures: object #### Classes #################################################### @@ -205,11 +205,15 @@ async def update_coursechapters_meta(request: Request,course_id: str, coursechap courseInDB = courses.update_one({"course_id": course_id}, { "$set": {"chapters": coursechapters_metadata.chapterOrder}}) - # update lectures in coursechapters - # TODO : performance/optimization improvement, this does not work anyway. - for coursechapter in coursechapters_metadata.chapters.__dict__.items(): - coursechapters.update_one({"coursechapter_id": coursechapter}, { - "$set": {"lectures": coursechapters_metadata.chapters[coursechapter]["lectureIds"]}}) # type: ignore + if coursechapters_metadata.chapters is not None: + for coursechapter_id, chapter_metadata in coursechapters_metadata.chapters.items(): + filter_query = {"coursechapter_id": coursechapter_id} + update_query = {"$set": {"lectures": chapter_metadata["lectureIds"]}} + result = coursechapters.update_one(filter_query, update_query) + if result.matched_count == 0: + # handle error when no documents are matched by the filter query + print(f"No documents found for course chapter ID {coursechapter_id}") + return {"detail": "coursechapters metadata updated"}