From 8201506c5fa1ddf39ecb15b64c78c270b4c5b83f Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Tue, 14 Mar 2023 10:32:31 +0530 Subject: [PATCH 1/2] fix: delete roles after uninstall --- lms/install.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lms/install.py b/lms/install.py index 00ca4eea..af58c9d7 100644 --- a/lms/install.py +++ b/lms/install.py @@ -46,6 +46,7 @@ def add_pages_to_nav(): def after_uninstall(): delete_custom_fields() + delete_lms_roles() def create_lms_roles(): @@ -53,6 +54,14 @@ def create_lms_roles(): create_moderator_role() +def delete_lms_roles(): + roles = ["Course Creator", "Moderator"] + for role in roles: + if frappe.db.exists("Role", role): + frappe.db.delete("Role", role) + frappe.db.commit() + + def set_default_home(): frappe.db.set_value("Portal Settings", None, "default_portal_home", "/courses") From ea9ca67d1ecd48c934168d1ed6c657089e4fb8ab Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Tue, 14 Mar 2023 10:56:08 +0530 Subject: [PATCH 2/2] fix: delete using before_uninstall hook --- lms/hooks.py | 2 +- lms/install.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lms/hooks.py b/lms/hooks.py index b3b065dd..c9078ef3 100644 --- a/lms/hooks.py +++ b/lms/hooks.py @@ -60,7 +60,7 @@ web_include_js = ["website.bundle.js"] # before_install = "lms.install.before_install" after_install = "lms.install.after_install" after_sync = "lms.install.after_sync" -after_uninstall = "lms.install.after_uninstall" +before_uninstall = "lms.install.before_uninstall" setup_wizard_requires = "assets/lms/js/setup_wizard.js" diff --git a/lms/install.py b/lms/install.py index af58c9d7..b75b5518 100644 --- a/lms/install.py +++ b/lms/install.py @@ -44,7 +44,7 @@ def add_pages_to_nav(): ).save() -def after_uninstall(): +def before_uninstall(): delete_custom_fields() delete_lms_roles() @@ -59,7 +59,6 @@ def delete_lms_roles(): for role in roles: if frappe.db.exists("Role", role): frappe.db.delete("Role", role) - frappe.db.commit() def set_default_home(): @@ -135,4 +134,3 @@ def delete_custom_fields(): for field in fields: frappe.db.delete("Custom Field", {"fieldname": field}) - frappe.db.commit()