diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index 02ae9635c1..12c04a4236 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -97,7 +97,8 @@ from .local_settings import ( OpenPypeSettingsRegistry, get_local_site_id, change_openpype_mongo_url, - get_openpype_username + get_openpype_username, + is_admin_password_required ) from .applications import ( @@ -209,6 +210,7 @@ __all__ = [ "get_local_site_id", "change_openpype_mongo_url", "get_openpype_username", + "is_admin_password_required", "ApplicationLaunchFailed", "ApplictionExecutableNotFound", diff --git a/openpype/lib/local_settings.py b/openpype/lib/local_settings.py index 67845c77cf..66dad279de 100644 --- a/openpype/lib/local_settings.py +++ b/openpype/lib/local_settings.py @@ -29,7 +29,10 @@ except ImportError: import six import appdirs -from openpype.settings import get_local_settings +from openpype.settings import ( + get_local_settings, + get_system_settings +) from .import validate_mongo_connection @@ -562,3 +565,16 @@ def get_openpype_username(): if not username: username = getpass.getuser() return username + + +def is_admin_password_required(): + system_settings = get_system_settings() + password = system_settings["general"].get("admin_password") + if not password: + return False + + local_settings = get_local_settings() + is_admin = local_settings.get("general", {}).get("is_admin", False) + if is_admin: + return False + return True diff --git a/openpype/tools/project_manager/project_manager/window.py b/openpype/tools/project_manager/project_manager/window.py index 15da7a37b8..37092bc4a9 100644 --- a/openpype/tools/project_manager/project_manager/window.py +++ b/openpype/tools/project_manager/project_manager/window.py @@ -11,7 +11,7 @@ from . import ( ) from openpype.style import load_stylesheet from .style import ResourceCache -from openpype.tools.settings import is_password_required +from openpype.lib import is_admin_password_required from openpype.widgets import PasswordDialog from openpype import resources @@ -224,7 +224,7 @@ class ProjectManagerWindow(QtWidgets.QWidget): return if not self._user_passed: - self._user_passed = not is_password_required() + self._user_passed = not is_admin_password_required() if not self._user_passed: self.setEnabled(False) diff --git a/openpype/tools/settings/__init__.py b/openpype/tools/settings/__init__.py index d94c5497b8..a156228dc1 100644 --- a/openpype/tools/settings/__init__.py +++ b/openpype/tools/settings/__init__.py @@ -1,7 +1,6 @@ import sys from Qt import QtWidgets, QtGui from .lib import ( - is_password_required, BTN_FIXED_SIZE, CHILD_OFFSET ) @@ -34,7 +33,6 @@ def main(user_role=None): __all__ = ( - "is_password_required", "BTN_FIXED_SIZE", "CHILD_OFFSET", diff --git a/openpype/tools/settings/lib.py b/openpype/tools/settings/lib.py index 4b48746a18..9520e268dd 100644 --- a/openpype/tools/settings/lib.py +++ b/openpype/tools/settings/lib.py @@ -1,20 +1,2 @@ CHILD_OFFSET = 15 BTN_FIXED_SIZE = 20 - - -def is_password_required(): - from openpype.settings import ( - get_system_settings, - get_local_settings - ) - - system_settings = get_system_settings() - password = system_settings["general"].get("admin_password") - if not password: - return False - - local_settings = get_local_settings() - is_admin = local_settings.get("general", {}).get("is_admin", False) - if is_admin: - return False - return True diff --git a/openpype/tools/settings/local_settings/general_widget.py b/openpype/tools/settings/local_settings/general_widget.py index c69824802e..5bb2bcf378 100644 --- a/openpype/tools/settings/local_settings/general_widget.py +++ b/openpype/tools/settings/local_settings/general_widget.py @@ -1,7 +1,7 @@ import getpass from Qt import QtWidgets, QtCore -from openpype.tools.settings import is_password_required +from openpype.lib import is_admin_password_required from openpype.widgets import PasswordDialog @@ -55,7 +55,7 @@ class LocalGeneralWidgets(QtWidgets.QWidget): if not self.is_admin_input.isChecked(): return - if not is_password_required(): + if not is_admin_password_required(): return dialog = PasswordDialog(self, False) diff --git a/openpype/tools/settings/settings/window.py b/openpype/tools/settings/settings/window.py index 6c45b60620..a60a2a1d88 100644 --- a/openpype/tools/settings/settings/window.py +++ b/openpype/tools/settings/settings/window.py @@ -7,7 +7,7 @@ from .categories import ( from .widgets import ShadowWidget, RestartDialog from . import style -from openpype.tools.settings import is_password_required +from openpype.lib import is_admin_password_required from openpype.widgets import PasswordDialog @@ -115,7 +115,7 @@ class MainWidget(QtWidgets.QWidget): return if not self._user_passed: - self._user_passed = not is_password_required() + self._user_passed = not is_admin_password_required() self._on_state_change()