From ed74f52e206f7108938ef23fecb198c30a99a683 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Mon, 11 May 2020 20:12:05 +0530 Subject: [PATCH] feat: single doctype to store installed apps data updated on migrate versions enabled --- .../installed_application_details/__init__.py | 0 .../installed_application_details.json | 49 +++++++++++++++++++ .../installed_application_details.py | 10 ++++ .../installed_applications/__init__.py | 0 .../installed_applications.js | 8 +++ .../installed_applications.json | 42 ++++++++++++++++ .../installed_applications.py | 17 +++++++ .../test_installed_applications.py | 10 ++++ frappe/migrate.py | 3 ++ .../website_theme/standard/standard.json | 2 +- 10 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 frappe/core/doctype/installed_application_details/__init__.py create mode 100644 frappe/core/doctype/installed_application_details/installed_application_details.json create mode 100644 frappe/core/doctype/installed_application_details/installed_application_details.py create mode 100644 frappe/core/doctype/installed_applications/__init__.py create mode 100644 frappe/core/doctype/installed_applications/installed_applications.js create mode 100644 frappe/core/doctype/installed_applications/installed_applications.json create mode 100644 frappe/core/doctype/installed_applications/installed_applications.py create mode 100644 frappe/core/doctype/installed_applications/test_installed_applications.py diff --git a/frappe/core/doctype/installed_application_details/__init__.py b/frappe/core/doctype/installed_application_details/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/core/doctype/installed_application_details/installed_application_details.json b/frappe/core/doctype/installed_application_details/installed_application_details.json new file mode 100644 index 0000000000..ec453c320f --- /dev/null +++ b/frappe/core/doctype/installed_application_details/installed_application_details.json @@ -0,0 +1,49 @@ +{ + "actions": [], + "creation": "2020-05-11 17:44:54.674657", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "application_name", + "application_version", + "git_branch" + ], + "fields": [ + { + "fieldname": "application_name", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Application Name", + "read_only": 1, + "reqd": 1 + }, + { + "fieldname": "application_version", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Application Version", + "read_only": 1, + "reqd": 1 + }, + { + "fieldname": "git_branch", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Git Branch", + "read_only": 1, + "reqd": 1 + } + ], + "istable": 1, + "links": [], + "modified": "2020-05-11 19:54:07.141641", + "modified_by": "Administrator", + "module": "Core", + "name": "Installed Application Details", + "owner": "Administrator", + "permissions": [], + "quick_entry": 1, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1 +} \ No newline at end of file diff --git a/frappe/core/doctype/installed_application_details/installed_application_details.py b/frappe/core/doctype/installed_application_details/installed_application_details.py new file mode 100644 index 0000000000..3dd2b67228 --- /dev/null +++ b/frappe/core/doctype/installed_application_details/installed_application_details.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2020, Frappe Technologies and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +# import frappe +from frappe.model.document import Document + +class InstalledApplicationDetails(Document): + pass diff --git a/frappe/core/doctype/installed_applications/__init__.py b/frappe/core/doctype/installed_applications/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/core/doctype/installed_applications/installed_applications.js b/frappe/core/doctype/installed_applications/installed_applications.js new file mode 100644 index 0000000000..9a1fd5ac18 --- /dev/null +++ b/frappe/core/doctype/installed_applications/installed_applications.js @@ -0,0 +1,8 @@ +// Copyright (c) 2020, Frappe Technologies and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Installed Applications', { + // refresh: function(frm) { + + // } +}); diff --git a/frappe/core/doctype/installed_applications/installed_applications.json b/frappe/core/doctype/installed_applications/installed_applications.json new file mode 100644 index 0000000000..8f0e658d92 --- /dev/null +++ b/frappe/core/doctype/installed_applications/installed_applications.json @@ -0,0 +1,42 @@ +{ + "actions": [], + "creation": "2020-05-11 17:45:41.587750", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "installed_applications" + ], + "fields": [ + { + "fieldname": "installed_applications", + "fieldtype": "Table", + "label": "Installed Applications", + "options": "Installed Application Details", + "read_only": 1 + } + ], + "issingle": 1, + "links": [], + "modified": "2020-05-11 19:52:47.775562", + "modified_by": "Administrator", + "module": "Core", + "name": "Installed Applications", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "print": 1, + "read": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "quick_entry": 1, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1 +} \ No newline at end of file diff --git a/frappe/core/doctype/installed_applications/installed_applications.py b/frappe/core/doctype/installed_applications/installed_applications.py new file mode 100644 index 0000000000..0b9603a005 --- /dev/null +++ b/frappe/core/doctype/installed_applications/installed_applications.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2020, Frappe Technologies and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe +from frappe.model.document import Document + +class InstalledApplications(Document): + def before_save(self): + self.delete_key("installed_applications") + for app in frappe.utils.get_installed_apps_info(): + self.append("installed_applications", { + "application_name": app.get("app_name"), + "application_version": app.get("version"), + "git_branch": app.get("branch") + }) \ No newline at end of file diff --git a/frappe/core/doctype/installed_applications/test_installed_applications.py b/frappe/core/doctype/installed_applications/test_installed_applications.py new file mode 100644 index 0000000000..ab9b849fa1 --- /dev/null +++ b/frappe/core/doctype/installed_applications/test_installed_applications.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2020, Frappe Technologies and Contributors +# See license.txt +from __future__ import unicode_literals + +# import frappe +import unittest + +class TestInstalledApplications(unittest.TestCase): + pass diff --git a/frappe/migrate.py b/frappe/migrate.py index 094abbe099..0b4680ced3 100644 --- a/frappe/migrate.py +++ b/frappe/migrate.py @@ -67,6 +67,9 @@ def migrate(verbose=True, rebuild_website=False, skip_failing=False): # add static pages to global search global_search.update_global_search_for_all_web_pages() + # updating installed applications data + frappe.get_single('Installed Applications').save() + #run after_migrate hooks for app in frappe.get_installed_apps(): for fn in frappe.get_hooks('after_migrate', app_name=app): diff --git a/frappe/website/website_theme/standard/standard.json b/frappe/website/website_theme/standard/standard.json index 1729e4616a..e56d1934c6 100644 --- a/frappe/website/website_theme/standard/standard.json +++ b/frappe/website/website_theme/standard/standard.json @@ -19,4 +19,4 @@ "theme": "Standard", "theme_scss": "$enable-shadows: false;\n$enable-gradients: false;\n$enable-rounded: true;\n\n@import \"frappe/public/scss/website\";\n\n", "theme_url": "/assets/css/standard_style.css" -} \ No newline at end of file +}