mirror of
https://github.com/ansible/awx.git
synced 2026-05-22 00:07:40 -02:30
Enable CTinT category-specific validation.
This commit is contained in:
@@ -28,6 +28,7 @@ class SettingsRegistry(object):
|
||||
if settings is None:
|
||||
from django.conf import settings
|
||||
self._registry = OrderedDict()
|
||||
self._validate_registry = {}
|
||||
self._dependent_settings = {}
|
||||
self.settings = settings
|
||||
|
||||
@@ -56,6 +57,12 @@ class SettingsRegistry(object):
|
||||
for dependent_settings in self._dependent_settings.values():
|
||||
dependent_settings.discard(setting)
|
||||
|
||||
def register_validate(self, category_slug, func):
|
||||
self._validate_registry[category_slug] = func
|
||||
|
||||
def unregister_validate(self, category_slug):
|
||||
self._validate_registry.pop(category_slug, None)
|
||||
|
||||
def get_dependent_settings(self, setting):
|
||||
return self._dependent_settings.get(setting, set())
|
||||
|
||||
@@ -99,6 +106,9 @@ class SettingsRegistry(object):
|
||||
setting_names.append(setting)
|
||||
return setting_names
|
||||
|
||||
def get_registered_validate_func(self, category_slug):
|
||||
return self._validate_registry.get(category_slug, None)
|
||||
|
||||
def is_setting_encrypted(self, setting):
|
||||
return bool(self._registry.get(setting, {}).get('encrypted', False))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user