From 9748d075fa6de28399b7ca627e202cc66c8dabd5 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Tue, 23 Sep 2025 13:00:58 +0530 Subject: [PATCH] chore: site data for analytics --- lms/activation.py | 30 ++++++++++++++++++++++++++++++ lms/hooks.py | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 lms/activation.py diff --git a/lms/activation.py b/lms/activation.py new file mode 100644 index 00000000..6bf356f2 --- /dev/null +++ b/lms/activation.py @@ -0,0 +1,30 @@ +import frappe + + +def get_site_info(site_info): + # called via hook + return {"activation": get_sales_data(site_info)} + + +def get_sales_data(site_info): + activation_level = site_info.get("activation", {}).get("activation_level", 0) + sales_data = site_info.get("activation", {}).get("sales_data", []) + doctypes = [ + "LMS Course", + "Course Chapter", + "Course Lesson", + "LMS Batch", + "LMS Enrollment", + "LMS Quiz", + "LMS Assignment", + "LMS Programming Exercise", + "LMS Program", + "LMS Certificate", + "LMS Evaluation", + ] + + for doctype in doctypes: + count = frappe.db.count(doctype) + sales_data.append({doctype: count}) + + return {"activation_level": activation_level, "sales_data": sales_data} diff --git a/lms/hooks.py b/lms/hooks.py index a0a6a864..038eee9d 100644 --- a/lms/hooks.py +++ b/lms/hooks.py @@ -240,6 +240,8 @@ signup_form_template = "lms.plugins.show_custom_signup" on_login = "lms.lms.user.on_login" +get_site_info = "lms.activation.get_site_info" + add_to_apps_screen = [ { "name": "lms",