From 5488a8a9488a6743104095f17e66d7641da2668e Mon Sep 17 00:00:00 2001 From: Elizabeth Thompson Date: Tue, 10 Aug 2021 09:03:13 -0700 Subject: [PATCH] add config to hide some user menu items (#16156) --- superset-frontend/src/components/Menu/MenuRight.tsx | 8 +++++--- superset/config.py | 3 +++ superset/views/base.py | 6 ++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/superset-frontend/src/components/Menu/MenuRight.tsx b/superset-frontend/src/components/Menu/MenuRight.tsx index 86a47846b..35d2cb0fc 100644 --- a/superset-frontend/src/components/Menu/MenuRight.tsx +++ b/superset-frontend/src/components/Menu/MenuRight.tsx @@ -136,9 +136,11 @@ const RightMenu = ({ {t('Profile')} )} - - {t('Info')} - + {navbarRight.user_info_url && ( + + {t('Info')} + + )} {t('Logout')} diff --git a/superset/config.py b/superset/config.py index b75be3266..632f74cf6 100644 --- a/superset/config.py +++ b/superset/config.py @@ -1233,6 +1233,9 @@ GLOBAL_ASYNC_QUERIES_WEBSOCKET_URL = "ws://127.0.0.1:8080/" # DATASET_HEALTH_CHECK: Optional[Callable[["SqlaTable"], str]] = None +# Do not show user info or profile in the menu +MENU_HIDE_USER_INFO = False + # SQLalchemy link doc reference SQLALCHEMY_DOCS_URL = "https://docs.sqlalchemy.org/en/13/core/engines.html" SQLALCHEMY_DISPLAY_TEXT = "SQLAlchemy docs" diff --git a/superset/views/base.py b/superset/views/base.py index 3ad62599b..a636762c6 100644 --- a/superset/views/base.py +++ b/superset/views/base.py @@ -332,11 +332,13 @@ def menu_data() -> Dict[str, Any]: "languages": languages, "show_language_picker": len(languages.keys()) > 1, "user_is_anonymous": g.user.is_anonymous, - "user_info_url": appbuilder.get_url_for_userinfo, + "user_info_url": None + if appbuilder.app.config["MENU_HIDE_USER_INFO"] + else appbuilder.get_url_for_userinfo, "user_logout_url": appbuilder.get_url_for_logout, "user_login_url": appbuilder.get_url_for_login, "user_profile_url": None - if g.user.is_anonymous + if g.user.is_anonymous or appbuilder.app.config["MENU_HIDE_USER_INFO"] else f"/superset/profile/{g.user.username}", "locale": session.get("locale", "en"), },