From 91e0d1a4398bd72bb0822cd7b4e7bdf847861552 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 13 Feb 2023 16:17:34 +0530 Subject: [PATCH] fix: Migrate color fields to color doctype (#20011) --- .../generate_theme_files_in_public_folder.py | 1 - .../v13_0/website_theme_custom_scss.py | 34 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/frappe/patches/v13_0/generate_theme_files_in_public_folder.py b/frappe/patches/v13_0/generate_theme_files_in_public_folder.py index f05cf46c74..62c7bcdfde 100644 --- a/frappe/patches/v13_0/generate_theme_files_in_public_folder.py +++ b/frappe/patches/v13_0/generate_theme_files_in_public_folder.py @@ -12,7 +12,6 @@ def execute(): for theme in themes: doc = frappe.get_doc("Website Theme", theme.name) try: - doc.generate_bootstrap_theme() doc.save() except Exception: print("Ignoring....") diff --git a/frappe/patches/v13_0/website_theme_custom_scss.py b/frappe/patches/v13_0/website_theme_custom_scss.py index d1a5e11228..d72b763bd9 100644 --- a/frappe/patches/v13_0/website_theme_custom_scss.py +++ b/frappe/patches/v13_0/website_theme_custom_scss.py @@ -8,21 +8,31 @@ def execute(): for theme in frappe.get_all("Website Theme"): doc = frappe.get_doc("Website Theme", theme.name) + setup_color_record(doc) if not doc.get("custom_scss") and doc.theme_scss: # move old theme to new theme doc.custom_scss = doc.theme_scss - - if doc.background_color: - setup_color_record(doc.background_color) - doc.save() -def setup_color_record(color): - frappe.get_doc( - { - "doctype": "Color", - "__newname": color, - "color": color, - } - ).save() +def setup_color_record(doc): + color_fields = [ + "primary_color", + "text_color", + "light_color", + "dark_color", + "background_color", + ] + + for color_field in color_fields: + color_code = doc.get(color_field) + if not color_code or frappe.db.exists("Color", color_code): + continue + + frappe.get_doc( + { + "doctype": "Color", + "__newname": color_code, + "color": color_code, + } + ).insert()