From 1e610f7fbb999749d1ea5af1a7ac9363df41fe11 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 11 May 2023 15:29:11 +0530 Subject: [PATCH] feat: analytics for course creation journey --- lms/lms/doctype/course_chapter/course_chapter.py | 4 +++- lms/lms/doctype/course_lesson/course_lesson.py | 8 +++++--- lms/lms/doctype/lms_course/lms_course.py | 6 ++++-- lms/public/js/website.bundle.js | 1 + lms/www/batch/edit.js | 1 + lms/www/courses/create.js | 1 + lms/www/courses/outline.js | 1 + 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lms/lms/doctype/course_chapter/course_chapter.py b/lms/lms/doctype/course_chapter/course_chapter.py index 63febc33..d980e26a 100644 --- a/lms/lms/doctype/course_chapter/course_chapter.py +++ b/lms/lms/doctype/course_chapter/course_chapter.py @@ -3,7 +3,9 @@ # import frappe from frappe.model.document import Document +from frappe.utils.telemetry import capture class CourseChapter(Document): - pass + def after_insert(self): + capture("chapter_created", "lms") diff --git a/lms/lms/doctype/course_lesson/course_lesson.py b/lms/lms/doctype/course_lesson/course_lesson.py index 1379088c..96e593d0 100644 --- a/lms/lms/doctype/course_lesson/course_lesson.py +++ b/lms/lms/doctype/course_lesson/course_lesson.py @@ -4,9 +4,8 @@ import frappe from frappe import _ from frappe.model.document import Document - -from lms.lms.utils import get_course_progress, get_lesson_url - +from frappe.utils.telemetry import capture +from lms.lms.utils import get_course_progress from ...md import find_macros @@ -24,6 +23,9 @@ class CourseLesson(Document): for section in dynamic_documents: self.update_lesson_name_in_document(section) + def after_insert(self): + capture("lesson_created", "lms") + def update_lesson_name_in_document(self, section): doctype_map = {"Exercise": "LMS Exercise", "Quiz": "LMS Quiz"} macros = find_macros(self.body) diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 82075328..c71568a0 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -6,9 +6,8 @@ import random import frappe from frappe.model.document import Document from frappe.utils import cint - +from frappe.utils.telemetry import capture from lms.lms.utils import get_chapters - from ...utils import generate_slug, validate_image @@ -43,6 +42,9 @@ class LMSCourse(Document): if not self.upcoming and self.has_value_changed("upcoming"): self.send_email_to_interested_users() + def after_insert(self): + capture("course_created", "lms") + def send_email_to_interested_users(self): interested_users = frappe.get_all( "LMS Course Interest", {"course": self.name}, ["name", "user"] diff --git a/lms/public/js/website.bundle.js b/lms/public/js/website.bundle.js index 7d1dfd83..b5fc1f1b 100644 --- a/lms/public/js/website.bundle.js +++ b/lms/public/js/website.bundle.js @@ -1,3 +1,4 @@ import "./profile.js"; import "./common_functions.js"; import "../../../../frappe/frappe/public/js/frappe/ui/chart.js"; +import "../../../../frappe/frappe/public/js/telemetry/index.js"; diff --git a/lms/www/batch/edit.js b/lms/www/batch/edit.js index 71c81ebc..3b45ced5 100644 --- a/lms/www/batch/edit.js +++ b/lms/www/batch/edit.js @@ -1,4 +1,5 @@ frappe.ready(() => { + frappe.telemetry.capture("on_lesson_creation_page", "lms"); let self = this; if ($("#current-lesson-content").length) { parse_string_to_lesson(); diff --git a/lms/www/courses/create.js b/lms/www/courses/create.js index 59efc788..67897866 100644 --- a/lms/www/courses/create.js +++ b/lms/www/courses/create.js @@ -1,4 +1,5 @@ frappe.ready(() => { + frappe.telemetry.capture("on_course_creation_page", "lms"); $(".tags").click((e) => { e.preventDefault(); $("#tags-input").focus(); diff --git a/lms/www/courses/outline.js b/lms/www/courses/outline.js index 6414509c..cb70c48a 100644 --- a/lms/www/courses/outline.js +++ b/lms/www/courses/outline.js @@ -1,4 +1,5 @@ frappe.ready(() => { + frappe.telemetry.capture("on_course_outline_page", "lms"); $(".btn-add-chapter").click((e) => { show_chapter_modal(e); });