0001-multitenant-add-loader-to-get-settings-from-theme-26.patch
hobo/multitenant/settings_loaders.py | ||
---|---|---|
7 | 7 |
from django.utils.encoding import smart_bytes |
8 | 8 |
from django.utils.six.moves.urllib import parse as urlparse |
9 | 9 | |
10 |
from hobo.theme.utils import get_theme |
|
11 | ||
10 | 12 | |
11 | 13 |
class FileBaseSettingsLoader(object): |
12 | 14 |
""" |
... | ... | |
172 | 174 |
tenant_settings.CORS_ORIGIN_WHITELIST = whitelist |
173 | 175 | |
174 | 176 | |
177 |
class ThemeSettings(object): |
|
178 |
def get_new_time(self, tenant): |
|
179 |
return 0 |
|
180 | ||
181 |
def update_settings(self, tenant_settings, tenant): |
|
182 |
theme_id = tenant_settings.TEMPLATE_VARS.get('theme') |
|
183 |
if not theme_id: |
|
184 |
return |
|
185 |
theme = get_theme(theme_id) |
|
186 |
if not theme: |
|
187 |
return |
|
188 |
module_name = settings.SETTINGS_MODULE.split('.')[0] |
|
189 |
module_settings = theme.get('settings', {}).get(module_name) |
|
190 |
if not module_settings: |
|
191 |
return |
|
192 |
for key, val in module_settings.items(): |
|
193 |
setattr(tenant_settings, key, val) |
|
194 | ||
195 | ||
175 | 196 |
class SharedThemeSettings(FileBaseSettingsLoader): |
176 | 197 |
FILENAME = 'hobo.json' |
177 | 198 | |
178 |
- |