# HG changeset patch # User Marcin Kuzminski # Date 2017-10-13 08:54:52 # Node ID 4adf34156ee490fdb74f2c419a6e27aa10b19206 # Parent 94d9c7f176d5485dc4cab0b135e5a587e5c0de57 auth: don't cache settings for auth plugins diff --git a/rhodecode/authentication/base.py b/rhodecode/authentication/base.py --- a/rhodecode/authentication/base.py +++ b/rhodecode/authentication/base.py @@ -208,12 +208,15 @@ class RhodeCodeAuthPluginBase(object): """ return AuthnPluginSettingsSchemaBase() - def get_setting_by_name(self, name, default=None): + def get_setting_by_name(self, name, default=None, cache=True): """ Returns a plugin setting by name. """ full_name = 'rhodecode_{}'.format(self._get_setting_full_name(name)) - plugin_settings = self.plugin_settings + if cache: + plugin_settings = self.plugin_settings + else: + plugin_settings = SettingsModel().get_all_settings() return plugin_settings.get(full_name) or default diff --git a/rhodecode/authentication/views.py b/rhodecode/authentication/views.py --- a/rhodecode/authentication/views.py +++ b/rhodecode/authentication/views.py @@ -61,7 +61,7 @@ class AuthnPluginViewBase(object): for node in schema: if node.name not in defaults: defaults[node.name] = self.plugin.get_setting_by_name( - node.name, node.default) + node.name, node.default, cache=False) template_context = { 'defaults': defaults,