update pattern with dropdown to choose language in a more convenient way
update language codes
update blog data appearance , avoiding to show the json data
building a new view for chat page of admin panel , handling getting messages and send messages
create html , css and js files for style and design of chat page
add a hook to fastapi to update chat realtimely
This commit refactors the LMS architecture from a flat 2-tier structure to a granular 3-tier structure to support better course organization, while ensuring zero downtime or breaking changes for existing frontend clients.
Introduced `CourseChapter` model as the new grouping layer
2 endpoints (`/v2/.../lessons/`): Introduced new `LessonListV2APIView` and `CourseChapterSerializer` to return the new nested JSON schema (Chapters -> Lessons) for the upcoming accordion UI.
Created robust `migrate_lessons_to_chapters` management command.
Registered `CourseChapter` and added `CourseChapterInline` to `CourseAdmin` for seamless content management.
moved the Quizzes tab in Course section.
in the course details we have a quiz section ,accessing to all the quizzes of that course
an action button for quizzes to navigate to related course added
quiz model updated with course field
book creation is now only creates if a edition or folder mentioned, not blindly all the volumes !
script deletes the old books
some models updated with new values
upgrade dashboard to a better version having different data cards and charts and lists , to observe better information
update the background color of admin panel synced with imam-jawad theme
update unfold translations with new dashboard values
updated the not supported lazy text fields
add inline tabs for course , livesession and quiz tabs
enhanced chat messages tab to manage messages better
updated the dropdown styles for better ux
updated missing lazy text keywords for django messages in related models
updated .po file and translate the empty values in it
add a unfold translations file to keep the unfold messages whenever we run makemasseges.