Optimize setting retrieval. Remove support for path settings checking.
Settings should be just a key, value storage.
This commit is contained in:
@@ -3,7 +3,6 @@ from __future__ import unicode_literals
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from common import MayanAppConfig, menu_setup, menu_object
|
||||
from common.widgets import exists_widget
|
||||
from navigation import SourceColumn
|
||||
|
||||
from .classes import Namespace, Setting
|
||||
@@ -33,12 +32,6 @@ class SmartSettingsApp(MayanAppConfig):
|
||||
SourceColumn(
|
||||
source=Setting, label=_('Value'), attribute='serialized_value'
|
||||
)
|
||||
SourceColumn(
|
||||
source=Setting, label=_('Found in path'),
|
||||
func=lambda context: exists_widget(
|
||||
context['object'].value
|
||||
) if context['object'].is_path else _('n/a')
|
||||
)
|
||||
|
||||
menu_object.bind_links(
|
||||
links=(link_namespace_detail,), sources=(Namespace,)
|
||||
|
||||
@@ -69,8 +69,8 @@ class Setting(object):
|
||||
self.global_name = global_name
|
||||
self.default = default
|
||||
self.help_text = help_text
|
||||
self.is_path = is_path
|
||||
self.yaml = None
|
||||
self.raw_value = getattr(settings, self.global_name, self.default)
|
||||
self.yaml = Setting.serialize_value(self.raw_value)
|
||||
namespace.settings.append(self)
|
||||
|
||||
def __unicode__(self):
|
||||
@@ -78,16 +78,14 @@ class Setting(object):
|
||||
|
||||
@property
|
||||
def serialized_value(self):
|
||||
self.yaml = Setting.serialize_value(
|
||||
getattr(settings, self.global_name, self.default)
|
||||
)
|
||||
|
||||
return self.yaml
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
return Setting.deserialize_value(self.serialized_value)
|
||||
return self.raw_value
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
# value is in YAML format
|
||||
self.yaml = value
|
||||
self.raw_value = Setting.deserialize_value(value)
|
||||
|
||||
Reference in New Issue
Block a user