diff --git a/mayan/apps/smart_settings/classes.py b/mayan/apps/smart_settings/classes.py index 639a0853e3..9e9e1aea0d 100644 --- a/mayan/apps/smart_settings/classes.py +++ b/mayan/apps/smart_settings/classes.py @@ -146,13 +146,14 @@ class Setting(object): path=settings.CONFIGURATION_LAST_GOOD_FILEPATH ) - def __init__(self, namespace, global_name, default, help_text=None, is_path=False): + def __init__(self, namespace, global_name, default, help_text=None, is_path=False, post_edit_function=None): self.global_name = global_name self.default = default self.help_text = help_text self.loaded = False self.namespace = namespace self.environment_variable = False + self.post_edit_function = post_edit_function namespace._settings.append(self) self.__class__._registry[global_name] = self @@ -204,3 +205,5 @@ class Setting(object): # value is in YAML format self.yaml = value self.raw_value = Setting.deserialize_value(value) + if self.post_edit_function: + self.post_edit_function(setting=self)