diff --git a/frontend/src/components/DiscussionReplies.vue b/frontend/src/components/DiscussionReplies.vue index aad4d902..6911a107 100644 --- a/frontend/src/components/DiscussionReplies.vue +++ b/frontend/src/components/DiscussionReplies.vue @@ -93,11 +93,19 @@ diff --git a/frontend/src/components/Settings/Members.vue b/frontend/src/components/Settings/Members.vue index c9b9db45..c7abd1d4 100644 --- a/frontend/src/components/Settings/Members.vue +++ b/frontend/src/components/Settings/Members.vue @@ -131,6 +131,7 @@ import { ref, watch, reactive, inject } from 'vue' import { RefreshCw, Plus, Search, Shield } from 'lucide-vue-next' import { useOnboarding } from 'frappe-ui/frappe' import type { User } from '@/components/Settings/types' +import { useTelemetry } from 'frappe-ui/frappe' type Member = { username: string @@ -149,6 +150,7 @@ const hasNextPage = ref(false) const showForm = ref(false) const user = inject('$user') const { updateOnboardingStep } = useOnboarding('learning') +const { capture } = useTelemetry() const member = reactive({ email: '', @@ -202,6 +204,7 @@ const addMember = (close: () => void) => { }) .then((data: Member) => { if (user?.data?.is_system_manager) updateOnboardingStep('invite_students') + capture('user_added') show.value = false router.push({ name: 'ProfileRoles', diff --git a/frontend/src/pages/Batches/components/NewBatchModal.vue b/frontend/src/pages/Batches/components/NewBatchModal.vue index b88d938a..5bd6e443 100644 --- a/frontend/src/pages/Batches/components/NewBatchModal.vue +++ b/frontend/src/pages/Batches/components/NewBatchModal.vue @@ -111,7 +111,7 @@ diff --git a/frontend/src/pages/Courses/NewCourseModal.vue b/frontend/src/pages/Courses/NewCourseModal.vue index 02e98c1a..829669dd 100644 --- a/frontend/src/pages/Courses/NewCourseModal.vue +++ b/frontend/src/pages/Courses/NewCourseModal.vue @@ -76,7 +76,7 @@ diff --git a/lms/lms/doctype/course_lesson/course_lesson.py b/lms/lms/doctype/course_lesson/course_lesson.py index e891b9b0..7add79ab 100644 --- a/lms/lms/doctype/course_lesson/course_lesson.py +++ b/lms/lms/doctype/course_lesson/course_lesson.py @@ -103,7 +103,7 @@ def save_progress(lesson: str, course: str, scorm_details: dict = None): ) progress = get_course_progress(course) - capture_progress_for_analytics(progress, course) + capture_progress_for_analytics() # Had to get doc, as on_change doesn't trigger when you use set_value. The trigger is necessary for badge to get assigned. enrollment = frappe.get_doc("LMS Enrollment", membership) @@ -121,9 +121,8 @@ def save_progress(lesson: str, course: str, scorm_details: dict = None): return progress -def capture_progress_for_analytics(progress, course): - if progress in [25, 50, 75, 100]: - capture("course_progress", "lms", properties={"course": course, "progress": progress}) +def capture_progress_for_analytics(): + capture("course_progress", "lms") def get_quiz_progress(lesson): diff --git a/lms/lms/doctype/lms_certificate/lms_certificate.py b/lms/lms/doctype/lms_certificate/lms_certificate.py index 19579a07..bf5cfa76 100644 --- a/lms/lms/doctype/lms_certificate/lms_certificate.py +++ b/lms/lms/doctype/lms_certificate/lms_certificate.py @@ -19,8 +19,8 @@ class LMSCertificate(Document): self.name = make_autoname("hash", self.doctype) def after_insert(self): - self.send_certification_email() capture("certificate_issued", "lms") + self.send_certification_email() def send_certification_email(self): outgoing_email_account = frappe.get_cached_value( diff --git a/lms/lms/doctype/lms_course_review/lms_course_review.json b/lms/lms/doctype/lms_course_review/lms_course_review.json index 64f0ac27..a7d7fdbe 100644 --- a/lms/lms/doctype/lms_course_review/lms_course_review.json +++ b/lms/lms/doctype/lms_course_review/lms_course_review.json @@ -41,7 +41,7 @@ "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [], - "modified": "2026-02-20 17:40:39.823017", + "modified": "2026-02-23 16:21:18.503806", "modified_by": "sayali@frappe.io", "module": "LMS", "name": "LMS Course Review", @@ -65,6 +65,7 @@ "export": 1, "if_owner": 1, "print": 1, + "read": 1, "report": 1, "role": "LMS Student", "share": 1,