summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2013-03-20 12:38:49 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2013-03-20 12:38:49 -0600
commit3d718667e805cb409417f534e2dc9a3e42931276 (patch)
treeffac615a4edd4db2261c86ea6d11fbaca5ee0ca5
parenta3596220c202acb29eb7263e0548386243e4c0c7 (diff)
downloadaskbot-3d718667e805cb409417f534e2dc9a3e42931276.tar.gz
askbot-3d718667e805cb409417f534e2dc9a3e42931276.tar.bz2
askbot-3d718667e805cb409417f534e2dc9a3e42931276.zip
display error messages via exceptions on livesettings
-rw-r--r--askbot/deps/livesettings/views.py30
-rw-r--r--askbot/setup_templates/settings.py1
-rw-r--r--askbot/setup_templates/settings.py.mustache1
-rw-r--r--askbot/startup_procedures.py5
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()