diff --git a/ckan/controllers/admin.py b/ckan/controllers/admin.py index 7fa8fd79c51..1459122bcd0 100644 --- a/ckan/controllers/admin.py +++ b/ckan/controllers/admin.py @@ -31,7 +31,8 @@ def __before__(self, action, **params): def config(self): app_globals = base.pylons_globals().get('g') data = request.POST - if data: + if 'save' in data: + # update config from form style = data.get('style') app_globals.set_main_css(style) @@ -44,6 +45,10 @@ def config(self): about = data.get('about') app_globals.set_global('site_about', about) + if 'reset' in data: + # reset to values in config + app_globals.reset() + styles = [('Default', '/base/css/main.css'), ('Red', '/base/css/red.css'), ('Green', '/base/css/green.css'), diff --git a/ckan/lib/app_globals.py b/ckan/lib/app_globals.py index 482487f6668..d7063e29a85 100644 --- a/ckan/lib/app_globals.py +++ b/ckan/lib/app_globals.py @@ -25,23 +25,31 @@ def set_main_css(self, css_file): def set_global(self, key, value): setattr(self, key, value) + def reset(self): + ''' set updatable values from config ''' + + self.site_title = config.get('ckan.site_title', '') + self.site_logo = config.get('ckan.site_logo', '') + self.site_url = config.get('ckan.site_url', '') + self.site_description = config.get('ckan.site_description', '') + self.site_about = config.get('ckan.site_about', '') + + # cusom styling + self.set_main_css('/base/css/main.css') + def __init__(self): """One instance of Globals is created during application initialization and is available during requests via the 'app_globals' variable """ - self.site_title = config.get('ckan.site_title', '') + + self.reset() self.favicon = config.get('ckan.favicon', '/images/icons/ckan.ico') - self.site_logo = config.get('ckan.site_logo', '') - self.site_url = config.get('ckan.site_url', '') self.site_url_nice = self.site_url.replace('http://','').replace('www.','') - self.site_description = config.get('ckan.site_description', '') - self.site_about = config.get('ckan.site_about', '') - self.facets = config.get('search.facets', 'groups tags res_format license').split() - + # has been setup in load_environment(): self.site_id = config.get('ckan.site_id') @@ -55,8 +63,6 @@ def __init__(self): self.recaptcha_publickey = config.get('ckan.recaptcha.publickey', '') self.recaptcha_privatekey = config.get('ckan.recaptcha.privatekey', '') - + self.datasets_per_page = int(config.get('ckan.datasets_per_page', '20')) - # cusom styling - self.set_main_css('/base/css/main.css') diff --git a/ckan/templates/admin/config.html b/ckan/templates/admin/config.html index f5410fc1815..ef4794a3f90 100644 --- a/ckan/templates/admin/config.html +++ b/ckan/templates/admin/config.html @@ -25,6 +25,7 @@

{{ _('Configuration Settings') }}

{{ form.input('title', id='field-title', label=_('Site Title'), placeholder=_('eg. CKAN'), value=data.title, error=errors.title) }} {{ form.input('tagline', id='field-tagline', label=_('Tag Line'), placeholder=_('eg. The Open Source Data Portal'), value=data.tagline, error=errors.tagline) }} {{ form.markdown('about', id='field-about', label=_('About Text'), placeholder=_('About contents'), value=data.about, error=errors.about) }} +