From 0d5a981f4f576587aeb4b7fbd496db1a9f0189f8 Mon Sep 17 00:00:00 2001 From: karan-sanskar Date: Sun, 20 Jul 2025 15:57:43 +0530 Subject: [PATCH] [Issue-45]: Check permission for QuickDo, only show the app if QuickDo User role is assigned --- quickdo/api.py | 15 +++++++++++++++ quickdo/hooks.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/quickdo/api.py b/quickdo/api.py index 5beed32..adf909a 100644 --- a/quickdo/api.py +++ b/quickdo/api.py @@ -699,3 +699,18 @@ def register_user(full_name, email, password, redirect_to="/quickdo"): "success": True, "message": f"User has been registered successfully {full_name}", } + + +# ! api/method/quickdo.api.has_app_permission +# ? CHECK IF THE USER HAS PERMISSION TO ACCESS QUICKDO APP +def has_app_permission(): + """Check if the user has permission to access the app.""" + if frappe.session.user == "Administrator": + return True + + roles = frappe.get_roles() + quickdo_roles = ["QuickDo User", "System Manager"] + if any(role in roles for role in quickdo_roles): + return True + + return False diff --git a/quickdo/hooks.py b/quickdo/hooks.py index 263d3bd..bf34280 100644 --- a/quickdo/hooks.py +++ b/quickdo/hooks.py @@ -25,7 +25,7 @@ "logo": "/assets/quickdo/favicon.png", "title": "QuickDo", "route": "/app/quickdos", - # "has_permission": "quickdo.api.permission.has_app_permission", + "has_permission": "quickdo.api.has_app_permission", } ]