Browse Source

Fixed lazy settings handling.

Rafał Pitoń 11 years ago
parent
commit
b43c5d1ff1
2 changed files with 6 additions and 3 deletions
  1. 2 2
      misago/conf/dbsettings.py
  2. 4 1
      misago/conf/tests/test_settings.py

+ 2 - 2
misago/conf/dbsettings.py

@@ -43,8 +43,7 @@ class DBSettings(object):
                 if not self._settings[setting].get('real_value'):
                     real_value = Setting.objects.get(setting=setting).value
                     self._settings[setting]['real_value'] = real_value
-                else:
-                    return self._settings[setting]['real_value']
+                return self._settings[setting]['real_value']
             else:
                 raise ValueError("Setting %s is not lazy" % setting)
         except (KeyError, Setting.DoesNotExist):
@@ -70,6 +69,7 @@ class DBSettings(object):
     def reset_settings(self):
         for setting, original_value in self._overrides.items():
             self._settings[setting]['value'] = original_value
+            self._settings[setting].pop('real_value', None)
 
 
 class _DBSettingsGateway(object):

+ 4 - 1
misago/conf/tests/test_settings.py

@@ -79,10 +79,13 @@ class GatewaySettingsTests(TestCase):
         self.assertTrue(db_settings.lazy_fish_name)
 
         self.assertTrue(gateway.lazy_fish_name)
+        self.assertEqual(gateway.get_lazy_setting('lazy_fish_name'),
+                        'Lazy Eric')
         self.assertTrue(db_settings.lazy_fish_name)
+        self.assertEqual(db_settings.get_lazy_setting('lazy_fish_name'),
+                        'Lazy Eric')
 
         self.assertTrue(gateway.lazy_empty_setting is None)
         self.assertTrue(db_settings.lazy_empty_setting is None)
-        db_settings.get_lazy_setting('lazy_fish_name')
         with self.assertRaises(ValueError):
             db_settings.get_lazy_setting('fish_name')