From 67c32d2850028c7e673eafe314ddedc2644acd63 Mon Sep 17 00:00:00 2001
From: Prateeksha Singh
Date: Wed, 30 Jan 2019 16:13:55 +0530
Subject: [PATCH] feat(module_links): onboarding cues for starting doctypes
---
frappe/desk/moduleview.py | 28 +++++++++++++++++++
.../frappe/views/components/ModuleDetail.vue | 24 +++++++++++++---
2 files changed, 48 insertions(+), 4 deletions(-)
diff --git a/frappe/desk/moduleview.py b/frappe/desk/moduleview.py
index f5a1e47bf4..d91f49d004 100644
--- a/frappe/desk/moduleview.py
+++ b/frappe/desk/moduleview.py
@@ -42,6 +42,34 @@ def get_data(module):
#set_last_modified(data)
+ exists_cache = {}
+
+ def exists(name):
+ exists = exists_cache.get(name)
+ if not exists:
+ exists = frappe.db.exists(name)
+ exists_cache[name] = exists
+ return exists
+
+ for section in data:
+ for item in section["items"]:
+ # Onboarding
+
+ # First disable based on exists of depends_on list
+ dependencies = item.get("dependencies") or None
+ if dependencies:
+ incomplete_dependencies = [d for d in dependencies if not exists(d)]
+ if len(incomplete_dependencies):
+ item["incomplete_dependencies"] = incomplete_dependencies
+
+ if item.get("onboard"):
+ # Mark Spotlights for initial
+ if item.get("type") == "doctype":
+ name = item.get("name")
+ count = exists(name)
+
+ item["count"] = count
+
return data
def build_config_from_file(module):
diff --git a/frappe/public/js/frappe/views/components/ModuleDetail.vue b/frappe/public/js/frappe/views/components/ModuleDetail.vue
index fe018dbe27..c34904674a 100644
--- a/frappe/public/js/frappe/views/components/ModuleDetail.vue
+++ b/frappe/public/js/frappe/views/components/ModuleDetail.vue
@@ -10,11 +10,23 @@
:key="section.label + item.label"
:data-youtube-id="item.type==='help' ? item.youtube_id : false"
>
-
{{ item.label || __(item.name) }}
-
+
+
+
+
+ {{ item.label || __(item.name) }}
+
+
+
@@ -30,7 +42,7 @@ export default {
props: ['module_name', 'sections'],
updated() {
frappe.app.update_notification_count_in_modules();
- }
+ },
}