# HG changeset patch # User Mads Kiilerich # Date 1545786715 -3600 # Node ID 2e3e1dacdbb7e4b1c7748f4d106f1313df79cc9e # Parent c9d859a89a88a81c98e1235784c99349d819cedc auth: drop confusing and layering-violating User.AuthUser property Keep it simple and just explicitly create an AuthUser if "needed". That can perhaps be simplified further later on. diff -r c9d859a89a88 -r 2e3e1dacdbb7 kallithea/controllers/admin/my_account.py --- a/kallithea/controllers/admin/my_account.py Wed Dec 26 01:54:23 2018 +0100 +++ b/kallithea/controllers/admin/my_account.py Wed Dec 26 02:11:55 2018 +0100 @@ -89,7 +89,7 @@ self.__load_data() c.perm_user = AuthUser(user_id=request.authuser.user_id) managed_fields = auth_modules.get_managed_fields(c.user) - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = AuthUser(dbuser=User.get_default_user()).permissions['global'] if 'hg.register.none' in def_user_perms: managed_fields.extend(['username', 'firstname', 'lastname', 'email']) diff -r c9d859a89a88 -r 2e3e1dacdbb7 kallithea/controllers/admin/permissions.py --- a/kallithea/controllers/admin/permissions.py Wed Dec 26 01:54:23 2018 +0100 +++ b/kallithea/controllers/admin/permissions.py Wed Dec 26 02:11:55 2018 +0100 @@ -37,7 +37,7 @@ from kallithea.config.routing import url from kallithea.lib import helpers as h -from kallithea.lib.auth import LoginRequired, HasPermissionAnyDecorator +from kallithea.lib.auth import LoginRequired, HasPermissionAnyDecorator, AuthUser from kallithea.lib.base import BaseController, render from kallithea.model.forms import DefaultPermissionsForm from kallithea.model.permission import PermissionModel @@ -193,5 +193,5 @@ def permission_perms(self): c.active = 'perms' c.user = User.get_default_user() - c.perm_user = c.user.AuthUser + c.perm_user = AuthUser(dbuser=c.user) return render('admin/permissions/permissions.html') diff -r c9d859a89a88 -r 2e3e1dacdbb7 kallithea/controllers/login.py --- a/kallithea/controllers/login.py Wed Dec 26 01:54:23 2018 +0100 +++ b/kallithea/controllers/login.py Wed Dec 26 02:11:55 2018 +0100 @@ -117,8 +117,8 @@ @HasPermissionAnyDecorator('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') def register(self): - c.auto_active = 'hg.register.auto_activate' in User.get_default_user() \ - .AuthUser.permissions['global'] + def_user_perms = AuthUser(dbuser=User.get_default_user()).permissions['global'] + c.auto_active = 'hg.register.auto_activate' in def_user_perms settings = Setting.get_app_settings() captcha_private_key = settings.get('captcha_private_key') diff -r c9d859a89a88 -r 2e3e1dacdbb7 kallithea/lib/auth_modules/__init__.py --- a/kallithea/lib/auth_modules/__init__.py Wed Dec 26 01:54:23 2018 +0100 +++ b/kallithea/lib/auth_modules/__init__.py Wed Dec 26 02:11:55 2018 +0100 @@ -21,7 +21,7 @@ from kallithea.lib.utils2 import str2bool from kallithea.lib.compat import formatted_json, hybrid_property -from kallithea.lib.auth import PasswordGenerator +from kallithea.lib.auth import PasswordGenerator, AuthUser from kallithea.model.user import UserModel from kallithea.model.db import Setting, User from kallithea.model.meta import Session @@ -242,7 +242,7 @@ userobj, username, passwd, settings, **kwargs) if user_data is not None: if userobj is None: # external authentication of unknown user that will be created soon - def_user_perms = User.get_default_user().AuthUser.permissions['global'] + def_user_perms = AuthUser(dbuser=User.get_default_user()).permissions['global'] active = 'hg.extern_activate.auto' in def_user_perms else: active = userobj.active diff -r c9d859a89a88 -r 2e3e1dacdbb7 kallithea/model/db.py --- a/kallithea/model/db.py Wed Dec 26 01:54:23 2018 +0100 +++ b/kallithea/model/db.py Wed Dec 26 02:11:55 2018 +0100 @@ -525,14 +525,6 @@ def is_default_user(self): return self.username == User.DEFAULT_USER - @property - def AuthUser(self): - """ - Returns instance of AuthUser for this user - """ - from kallithea.lib.auth import AuthUser - return AuthUser(dbuser=self) - @hybrid_property def user_data(self): if not self._user_data: