fix: restrict app in apps page if no access to FCRM module
(cherry picked from commit 6139cb5cb9d9e5bb19ea89ae134894ff34d04709)
This commit is contained in:
parent
a17ce26a6f
commit
7fbd229ed9
@ -1,9 +1,10 @@
|
|||||||
from bs4 import BeautifulSoup
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.translate import get_all_translations
|
from bs4 import BeautifulSoup
|
||||||
from frappe.utils import validate_email_address, split_emails, cstr
|
|
||||||
from frappe.utils.telemetry import POSTHOG_HOST_FIELD, POSTHOG_PROJECT_FIELD
|
|
||||||
from frappe.core.api.file import get_max_file_size
|
from frappe.core.api.file import get_max_file_size
|
||||||
|
from frappe.translate import get_all_translations
|
||||||
|
from frappe.utils import cstr, split_emails, validate_email_address
|
||||||
|
from frappe.utils.modules import get_modules_from_all_apps_for_user
|
||||||
|
from frappe.utils.telemetry import POSTHOG_HOST_FIELD, POSTHOG_PROJECT_FIELD
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist(allow_guest=True)
|
@frappe.whitelist(allow_guest=True)
|
||||||
@ -63,6 +64,11 @@ def check_app_permission():
|
|||||||
if frappe.session.user == "Administrator":
|
if frappe.session.user == "Administrator":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
allowed_modules = get_modules_from_all_apps_for_user()
|
||||||
|
allowed_modules = [x["module_name"] for x in allowed_modules]
|
||||||
|
if "FCRM" not in allowed_modules:
|
||||||
|
return False
|
||||||
|
|
||||||
roles = frappe.get_roles()
|
roles = frappe.get_roles()
|
||||||
if any(
|
if any(
|
||||||
role in ["System Manager", "Sales User", "Sales Manager", "Sales Master Manager"] for role in roles
|
role in ["System Manager", "Sales User", "Sales Manager", "Sales Master Manager"] for role in roles
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user