diff options
author | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2013-03-20 12:38:49 -0600 |
---|---|---|
committer | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2013-03-20 12:38:49 -0600 |
commit | 3d718667e805cb409417f534e2dc9a3e42931276 (patch) | |
tree | ffac615a4edd4db2261c86ea6d11fbaca5ee0ca5 | |
parent | a3596220c202acb29eb7263e0548386243e4c0c7 (diff) | |
download | askbot-3d718667e805cb409417f534e2dc9a3e42931276.tar.gz askbot-3d718667e805cb409417f534e2dc9a3e42931276.tar.bz2 askbot-3d718667e805cb409417f534e2dc9a3e42931276.zip |
display error messages via exceptions on livesettings
-rw-r--r-- | askbot/deps/livesettings/views.py | 30 | ||||
-rw-r--r-- | askbot/setup_templates/settings.py | 1 | ||||
-rw-r--r-- | askbot/setup_templates/settings.py.mustache | 1 | ||||
-rw-r--r-- | askbot/startup_procedures.py | 5 |
4 files changed, 24 insertions, 13 deletions
diff --git a/askbot/deps/livesettings/views.py b/askbot/deps/livesettings/views.py index d12eb602..0f43987c 100644 --- a/askbot/deps/livesettings/views.py +++ b/askbot/deps/livesettings/views.py @@ -7,6 +7,7 @@ from django.views.decorators.cache import never_cache from askbot.deps.livesettings import ConfigurationSettings, forms from askbot.deps.livesettings import ImageValue from askbot.deps.livesettings.overrides import get_overrides +from django.contrib import messages import logging log = logging.getLogger('configuration.views') @@ -15,7 +16,7 @@ def group_settings(request, group, template='livesettings/group_settings.html'): # Determine what set of settings this editor is used for use_db, overrides = get_overrides(); - + mgr = ConfigurationSettings() settings = mgr[group] @@ -42,10 +43,13 @@ def group_settings(request, group, template='livesettings/group_settings.html'): else: continue - if cfg.update(value): - # Give user feedback as to which settings were changed - message='Updated %s on %s' % (cfg.key, cfg.group.key) - request.user.message_set.create(message = message) + try: + if cfg.update(value): + message='Updated %s on %s' % (cfg.key, cfg.group.key) + messages.success(request, message) + #the else if for the settings that are not updated. + except Exception, e: + messages.error(request, e.message) return HttpResponseRedirect(request.path) else: @@ -71,31 +75,31 @@ def site_settings(request): default_group= mgr.groups()[0].key return HttpResponseRedirect(reverse('group_settings', args=[default_group])) #return group_settings(request, group=None, template='livesettings/site_settings.html') - + def export_as_python(request): """Export site settings as a dictionary of dictionaries""" - + from askbot.deps.livesettings.models import Setting, LongSetting import pprint - + work = {} both = list(Setting.objects.all()) both.extend(list(LongSetting.objects.all())) - + for s in both: if not work.has_key(s.site.id): work[s.site.id] = {} sitesettings = work[s.site.id] - + if not sitesettings.has_key(s.group): sitesettings[s.group] = {} sitegroup = sitesettings[s.group] - + sitegroup[s.key] = s.value - + pp = pprint.PrettyPrinter(indent=4) pretty = pp.pformat(work) return render_to_response('livesettings/text.txt', { 'text' : pretty }, mimetype='text/plain') - + export_as_python = never_cache(staff_member_required(export_as_python)) diff --git a/askbot/setup_templates/settings.py b/askbot/setup_templates/settings.py index d44f4491..54c45434 100644 --- a/askbot/setup_templates/settings.py +++ b/askbot/setup_templates/settings.py @@ -161,6 +161,7 @@ INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.humanize', 'django.contrib.sitemaps', + 'django.contrib.messages', #'debug_toolbar', #'haystack', 'askbot', diff --git a/askbot/setup_templates/settings.py.mustache b/askbot/setup_templates/settings.py.mustache index 5e85ed85..61ee5993 100644 --- a/askbot/setup_templates/settings.py.mustache +++ b/askbot/setup_templates/settings.py.mustache @@ -163,6 +163,7 @@ INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.humanize', 'django.contrib.sitemaps', + 'django.contrib.messages', #'debug_toolbar', #Optional, to enable haystack search #'haystack', diff --git a/askbot/startup_procedures.py b/askbot/startup_procedures.py index d612d824..d728eb3f 100644 --- a/askbot/startup_procedures.py +++ b/askbot/startup_procedures.py @@ -824,6 +824,10 @@ def test_multilingual(): print_errors(errors) +def test_messages_framework(): + if not 'django.contrib.messages' in django_settings.INSTALLED_APPS: + errors = ('Add to the INSTALLED_APPS section of your settings.py:\n "django.contrib.messages"', ) + print_errors(errors) def run_startup_tests(): """function that runs @@ -847,6 +851,7 @@ def run_startup_tests(): test_avatar() test_group_messaging() test_multilingual() + test_messages_framework() test_haystack() test_cache_backend() test_secret_key() |