mirror of
https://github.com/ansible/awx.git
synced 2026-03-23 03:45:01 -02:30
Support tower license within the database
With backwards support for the file-based license
This commit is contained in:
@@ -9,17 +9,24 @@ class TowerConfiguration(object):
|
||||
|
||||
# TODO: Caching so we don't have to hit the database every time for settings
|
||||
def __getattr__(self, key):
|
||||
settings_manifest = django_settings.TOWER_SETTINGS_MANIFEST
|
||||
if key not in settings_manifest:
|
||||
raise AttributeError("Tower Setting with key '{0}' is not defined in the manifest".format(key))
|
||||
ts = TowerSettings.objects.filter(key=key)
|
||||
if not ts.exists():
|
||||
return getattr(django_settings, key)
|
||||
try:
|
||||
val_actual = getattr(django_settings, key)
|
||||
except AttributeError:
|
||||
val_actual = settings_manifest[key]['default']
|
||||
return val_actual
|
||||
return ts[0].value_converted
|
||||
|
||||
def create(key, value):
|
||||
def __setattr__(self, key, value):
|
||||
settings_manifest = django_settings.TOWER_SETTINGS_MANIFEST
|
||||
if key not in settings_manifest:
|
||||
raise AttributeError("Tower Setting with key '{0}' does not exist".format(key))
|
||||
settings_entry = settings_manifest[key]
|
||||
setting_actual = TowerSettings.objects.filter(key=key)
|
||||
settings_actual = TowerSettings.objects.filter(key=key)
|
||||
if not settings_actual.exists():
|
||||
settings_actual = TowerSettings(key=key,
|
||||
description=settings_entry['description'],
|
||||
|
||||
Reference in New Issue
Block a user