From ee0e7c21f8f73eea5a4bf51186e047f496637fe3 Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Thu, 3 Aug 2017 20:17:46 +0200 Subject: [PATCH] users: make AuthUser propert a method, and allow override of params. --- rhodecode/api/tests/test_get_repos.py | 2 +- rhodecode/apps/admin/views/permissions.py | 4 ++-- rhodecode/apps/login/tests/test_register_captcha.py | 2 +- rhodecode/apps/login/views.py | 4 ++-- rhodecode/apps/repository/tests/test_repo_summary.py | 2 +- rhodecode/authentication/plugins/auth_crowd.py | 2 +- rhodecode/authentication/plugins/auth_headers.py | 2 +- rhodecode/authentication/plugins/auth_jasig_cas.py | 2 +- rhodecode/authentication/plugins/auth_ldap.py | 2 +- rhodecode/authentication/plugins/auth_rhodecode.py | 2 +- rhodecode/authentication/plugins/auth_token.py | 2 +- rhodecode/model/db.py | 5 ++--- rhodecode/tests/auth_external_test.py | 2 +- 13 files changed, 16 insertions(+), 17 deletions(-) diff --git a/rhodecode/api/tests/test_get_repos.py b/rhodecode/api/tests/test_get_repos.py index 3ba9e4e9..64df7175 100644 --- a/rhodecode/api/tests/test_get_repos.py +++ b/rhodecode/api/tests/test_get_repos.py @@ -116,7 +116,7 @@ class TestGetRepos(object): response = api_call(self.app, params) user = User.get_by_username(self.TEST_USER_LOGIN) - allowed_repos = user.AuthUser.permissions['repositories'] + allowed_repos = user.AuthUser().permissions['repositories'] result = [] for repo in RepoModel().get_all(): diff --git a/rhodecode/apps/admin/views/permissions.py b/rhodecode/apps/admin/views/permissions.py index 8e0eda7d..dfa7f154 100644 --- a/rhodecode/apps/admin/views/permissions.py +++ b/rhodecode/apps/admin/views/permissions.py @@ -309,7 +309,7 @@ class AdminPermissionsView(BaseAppView): c.active = 'perms' c.user = User.get_default_user(refresh=True) - c.perm_user = c.user.AuthUser + c.perm_user = c.user.AuthUser() return self._get_template_context(c) @LoginRequired() @@ -324,7 +324,7 @@ class AdminPermissionsView(BaseAppView): c.active = 'auth_token_access' c.user = User.get_default_user(refresh=True) - c.perm_user = c.user.AuthUser + c.perm_user = c.user.AuthUser() mapper = self.request.registry.queryUtility(IRoutesMapper) c.view_data = [] diff --git a/rhodecode/apps/login/tests/test_register_captcha.py b/rhodecode/apps/login/tests/test_register_captcha.py index c78e3815..2dd5e4ba 100644 --- a/rhodecode/apps/login/tests/test_register_captcha.py +++ b/rhodecode/apps/login/tests/test_register_captcha.py @@ -60,7 +60,7 @@ class TestRegisterCaptcha(object): ]) def test_get_captcha_data(self, private_key, public_key, expected, db, request_stub, user_util): - request_stub.user = user_util.create_user().AuthUser + request_stub.user = user_util.create_user().AuthUser() request_stub.matched_route = AttributeDict({'name': 'login'}) login_view = LoginView(mock.Mock(), request_stub) diff --git a/rhodecode/apps/login/views.py b/rhodecode/apps/login/views.py index 7bd76cf4..5e64a349 100644 --- a/rhodecode/apps/login/views.py +++ b/rhodecode/apps/login/views.py @@ -231,7 +231,7 @@ class LoginView(BaseAppView): register_message = settings.get('rhodecode_register_message') or '' captcha = self._get_captcha_data() auto_active = 'hg.register.auto_activate' in User.get_default_user()\ - .AuthUser.permissions['global'] + .AuthUser().permissions['global'] render_ctx = self._get_template_context(c) render_ctx.update({ @@ -252,7 +252,7 @@ class LoginView(BaseAppView): def register_post(self): captcha = self._get_captcha_data() auto_active = 'hg.register.auto_activate' in User.get_default_user()\ - .AuthUser.permissions['global'] + .AuthUser().permissions['global'] register_form = RegisterForm()() try: diff --git a/rhodecode/apps/repository/tests/test_repo_summary.py b/rhodecode/apps/repository/tests/test_repo_summary.py index 1cab9520..a154469c 100644 --- a/rhodecode/apps/repository/tests/test_repo_summary.py +++ b/rhodecode/apps/repository/tests/test_repo_summary.py @@ -317,7 +317,7 @@ def summary_view(context_stub, request_stub, user_util): """ request_stub.matched_route = AttributeDict(name='test_view') - request_stub.user = user_util.create_user().AuthUser + request_stub.user = user_util.create_user().AuthUser() request_stub.db_repo = user_util.create_repo() view = RepoSummaryView(context=context_stub, request=request_stub) diff --git a/rhodecode/authentication/plugins/auth_crowd.py b/rhodecode/authentication/plugins/auth_crowd.py index 3db5251c..9d04a1f4 100644 --- a/rhodecode/authentication/plugins/auth_crowd.py +++ b/rhodecode/authentication/plugins/auth_crowd.py @@ -223,7 +223,7 @@ class RhodeCodeAuthPlugin(RhodeCodeExternalAuthPlugin): return True def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.extern_activate.auto' in def_user_perms def auth(self, userobj, username, password, settings, **kwargs): diff --git a/rhodecode/authentication/plugins/auth_headers.py b/rhodecode/authentication/plugins/auth_headers.py index 3482e009..861081c4 100644 --- a/rhodecode/authentication/plugins/auth_headers.py +++ b/rhodecode/authentication/plugins/auth_headers.py @@ -112,7 +112,7 @@ class RhodeCodeAuthPlugin(RhodeCodeExternalAuthPlugin): return True def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.extern_activate.auto' in def_user_perms def _clean_username(self, username): diff --git a/rhodecode/authentication/plugins/auth_jasig_cas.py b/rhodecode/authentication/plugins/auth_jasig_cas.py index 12545178..385cdb6d 100644 --- a/rhodecode/authentication/plugins/auth_jasig_cas.py +++ b/rhodecode/authentication/plugins/auth_jasig_cas.py @@ -103,7 +103,7 @@ class RhodeCodeAuthPlugin(RhodeCodeExternalAuthPlugin): return True def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.extern_activate.auto' in def_user_perms def auth(self, userobj, username, password, settings, **kwargs): diff --git a/rhodecode/authentication/plugins/auth_ldap.py b/rhodecode/authentication/plugins/auth_ldap.py index 71c7f3c2..3630a39a 100644 --- a/rhodecode/authentication/plugins/auth_ldap.py +++ b/rhodecode/authentication/plugins/auth_ldap.py @@ -374,7 +374,7 @@ class RhodeCodeAuthPlugin(RhodeCodeExternalAuthPlugin): return True def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.extern_activate.auto' in def_user_perms def try_dynamic_binding(self, username, password, current_args): diff --git a/rhodecode/authentication/plugins/auth_rhodecode.py b/rhodecode/authentication/plugins/auth_rhodecode.py index d7b0fc05..12ba8f20 100644 --- a/rhodecode/authentication/plugins/auth_rhodecode.py +++ b/rhodecode/authentication/plugins/auth_rhodecode.py @@ -71,7 +71,7 @@ class RhodeCodeAuthPlugin(RhodeCodeAuthPluginBase): return "rhodecode" def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.register.auto_activate' in def_user_perms def allows_authentication_from( diff --git a/rhodecode/authentication/plugins/auth_token.py b/rhodecode/authentication/plugins/auth_token.py index 66aed324..e0cd072f 100644 --- a/rhodecode/authentication/plugins/auth_token.py +++ b/rhodecode/authentication/plugins/auth_token.py @@ -74,7 +74,7 @@ class RhodeCodeAuthPlugin(RhodeCodeAuthPluginBase): return "authtoken" def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.register.auto_activate' in def_user_perms def allows_authentication_from( diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py index 258ab91e..02861602 100644 --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -743,13 +743,12 @@ class User(Base, BaseModel): def is_admin(self): return self.admin - @property - def AuthUser(self): + def AuthUser(self, **kwargs): """ Returns instance of AuthUser for this user """ from rhodecode.lib.auth import AuthUser - return AuthUser(user_id=self.user_id, username=self.username) + return AuthUser(user_id=self.user_id, username=self.username, **kwargs) @hybrid_property def user_data(self): diff --git a/rhodecode/tests/auth_external_test.py b/rhodecode/tests/auth_external_test.py index 1cf3220b..f54f9642 100644 --- a/rhodecode/tests/auth_external_test.py +++ b/rhodecode/tests/auth_external_test.py @@ -56,7 +56,7 @@ class RhodeCodeAuthPlugin(RhodeCodeExternalAuthPlugin): return True def user_activation_state(self): - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = User.get_default_user().AuthUser().permissions['global'] return 'hg.extern_activate.auto' in def_user_perms def auth(self, userobj, username, password, settings, **kwargs):