From 13ff6a730400a973eddcdb47cfc9d77ce33228f9 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 29 May 2025 12:48:58 +0530 Subject: [PATCH 1/5] chore: record sessions while creating courses and lessons --- frontend/src/App.vue | 11 ++++++++++- frontend/src/pages/CourseForm.vue | 4 +++- frontend/src/pages/LessonForm.vue | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e13f2078..e61385b0 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -9,16 +9,19 @@ diff --git a/frontend/src/pages/CourseForm.vue b/frontend/src/pages/CourseForm.vue index 3e9f090d..18878f1f 100644 --- a/frontend/src/pages/CourseForm.vue +++ b/frontend/src/pages/CourseForm.vue @@ -284,7 +284,7 @@ import { } from 'vue' import { Image, Trash2, X } from 'lucide-vue-next' import { useRouter } from 'vue-router' -import { capture } from '@/telemetry' +import { capture, startRecording, stopRecording } from '@/telemetry' import { useOnboarding } from 'frappe-ui/frappe' import { sessionStore } from '../stores/session' import { openSettings } from '@/utils' @@ -337,6 +337,7 @@ onMounted(() => { courseResource.reload() } else { capture('course_form_opened') + startRecording() } window.addEventListener('keydown', keyboardShortcut) }) @@ -354,6 +355,7 @@ const keyboardShortcut = (e) => { onBeforeUnmount(() => { window.removeEventListener('keydown', keyboardShortcut) + stopRecording() }) const courseCreationResource = createResource({ diff --git a/frontend/src/pages/LessonForm.vue b/frontend/src/pages/LessonForm.vue index 2d61e009..c7bab62b 100644 --- a/frontend/src/pages/LessonForm.vue +++ b/frontend/src/pages/LessonForm.vue @@ -99,7 +99,7 @@ import EditorJS from '@editorjs/editorjs' import LessonHelp from '@/components/LessonHelp.vue' import { ChevronRight } from 'lucide-vue-next' import { getEditorTools, enablePlyr } from '@/utils' -import { capture } from '@/telemetry' +import { capture, startRecording, stopRecording } from '@/telemetry' import { useOnboarding } from 'frappe-ui/frappe' const { brand } = sessionStore() @@ -131,6 +131,7 @@ onMounted(() => { window.location.href = '/login' } capture('lesson_form_opened') + startRecording() editor.value = renderEditor('content') instructorEditor.value = renderEditor('instructor-notes') window.addEventListener('keydown', keyboardShortcut) @@ -226,6 +227,7 @@ const keyboardShortcut = (e) => { onBeforeUnmount(() => { clearInterval(autoSaveInterval) window.removeEventListener('keydown', keyboardShortcut) + stopRecording() }) const newLessonResource = createResource({ From b93ed41215264aeb12ecce3a136157706cd3692b Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 29 May 2025 12:49:30 +0530 Subject: [PATCH 2/5] fix: course and chapter permissions to moderators --- .../doctype/course_chapter/course_chapter.json | 18 ++++++++++++++++-- lms/lms/doctype/lms_course/lms_course.json | 17 +++++++++++++++-- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/lms/lms/doctype/course_chapter/course_chapter.json b/lms/lms/doctype/course_chapter/course_chapter.json index d4e58072..aa1953d0 100644 --- a/lms/lms/doctype/course_chapter/course_chapter.json +++ b/lms/lms/doctype/course_chapter/course_chapter.json @@ -103,6 +103,7 @@ "read_only": 1 } ], + "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [ { @@ -111,7 +112,7 @@ "link_fieldname": "chapter" } ], - "modified": "2025-02-03 15:23:17.125617", + "modified": "2025-05-29 12:38:26.266673", "modified_by": "Administrator", "module": "LMS", "name": "Course Chapter", @@ -151,8 +152,21 @@ "role": "Course Creator", "share": 1, "write": 1 + }, + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Moderator", + "share": 1, + "write": 1 } ], + "row_format": "Dynamic", "search_fields": "title", "show_title_field_in_link": 1, "sort_field": "modified", @@ -160,4 +174,4 @@ "states": [], "title_field": "title", "track_changes": 1 -} \ No newline at end of file +} diff --git a/lms/lms/doctype/lms_course/lms_course.json b/lms/lms/doctype/lms_course/lms_course.json index 6cf01f8e..db303c92 100644 --- a/lms/lms/doctype/lms_course/lms_course.json +++ b/lms/lms/doctype/lms_course/lms_course.json @@ -290,7 +290,7 @@ } ], "make_attachments_public": 1, - "modified": "2025-03-13 16:01:19.105212", + "modified": "2025-05-29 12:38:01.002898", "modified_by": "Administrator", "module": "LMS", "name": "LMS Course", @@ -319,12 +319,25 @@ "role": "Course Creator", "share": 1, "write": 1 + }, + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Moderator", + "share": 1, + "write": 1 } ], + "row_format": "Dynamic", "show_title_field_in_link": 1, "sort_field": "creation", "sort_order": "DESC", "states": [], "title_field": "title", "track_changes": 1 -} \ No newline at end of file +} From fba89dfacb28f09760de34fbf3a3b76f29744fd8 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 29 May 2025 12:50:25 +0530 Subject: [PATCH 3/5] feat: show unpushlished courses to admins on frontend --- frontend/src/pages/Courses.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/Courses.vue b/frontend/src/pages/Courses.vue index d585dd7d..3d5099c0 100644 --- a/frontend/src/pages/Courses.vue +++ b/frontend/src/pages/Courses.vue @@ -240,7 +240,6 @@ const updateTabFilter = () => { filters.value['live'] = 1 } else if (currentTab.value == 'Upcoming') { filters.value['upcoming'] = 1 - filters.value['published'] = 1 } else if (currentTab.value == 'New') { filters.value['published'] = 1 filters.value['published_on'] = [ @@ -249,6 +248,8 @@ const updateTabFilter = () => { ] } else if (currentTab.value == 'Created') { filters.value['created'] = 1 + } else if (currentTab.value == 'Unpublished') { + filters.value['published'] = 0 } } } @@ -318,6 +319,7 @@ const courseTabs = computed(() => { user.data?.is_evaluator ) { tabs.push({ label: __('Created') }) + tabs.push({ label: __('Unpublished') }) } else if (user.data) { tabs.push({ label: __('Enrolled') }) } From f1bbd4eb13c200c3c91d9c6f49fdae4cf0c09e59 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 29 May 2025 16:09:14 +0530 Subject: [PATCH 4/5] fix: settings ui cleanup --- frontend/src/components/Settings/BrandSettings.vue | 2 +- frontend/src/components/Settings/SettingFields.vue | 9 ++++++--- frontend/src/components/Settings/Settings.vue | 7 +++++++ frontend/src/components/Settings/ZoomSettings.vue | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/Settings/BrandSettings.vue b/frontend/src/components/Settings/BrandSettings.vue index e2662f60..e8f8e54d 100644 --- a/frontend/src/components/Settings/BrandSettings.vue +++ b/frontend/src/components/Settings/BrandSettings.vue @@ -1,5 +1,5 @@