# HG changeset patch # User Marcin Kuzminski # Date 2017-05-26 10:46:02 # Node ID f0bc93881ad4f1c28b643f53b2a3992989e9763b # Parent 45ee44d868a8d03bccf8faa2fba279c684ccfaed permissions: move refresh operation as a flag to the get_default_user function diff --git a/rhodecode/controllers/admin/permissions.py b/rhodecode/controllers/admin/permissions.py --- a/rhodecode/controllers/admin/permissions.py +++ b/rhodecode/controllers/admin/permissions.py @@ -64,12 +64,7 @@ class PermissionsController(BaseControll c.active = 'application' self.__load_data() - c.user = User.get_default_user() - - # TODO: johbo: The default user might be based on outdated state which - # has been loaded from the cache. A call to refresh() ensures that the - # latest state from the database is used. - Session().refresh(c.user) + c.user = User.get_default_user(refresh=True) app_settings = SettingsModel().get_all_settings() defaults = { diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -874,10 +874,16 @@ class User(Base, BaseModel): .order_by(User.username.asc()).all() @classmethod - def get_default_user(cls, cache=False): + def get_default_user(cls, cache=False, refresh=False): user = User.get_by_username(User.DEFAULT_USER, cache=cache) if user is None: raise Exception('FATAL: Missing default account!') + if refresh: + # The default user might be based on outdated state which + # has been loaded from the cache. + # A call to refresh() ensures that the + # latest state from the database is used. + Session().refresh(user) return user def _get_default_perms(self, user, suffix=''):