From 4a1182edaed75fbb058881afa50e67c1434862fd Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Thu, 4 Nov 2010 12:03:07 +0000 Subject: [PATCH] Switch to using the new Message framework (Django 1.2) --- groups/views.py | 3 ++- hr/views.py | 7 ++++--- settings.py | 12 ++++++++++++ sso/models.py | 2 -- sso/views.py | 27 ++++++++++++++------------- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/groups/views.py b/groups/views.py index 4adaf27..f17192f 100644 --- a/groups/views.py +++ b/groups/views.py @@ -4,6 +4,7 @@ from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.core.urlresolvers import reverse +from django.contrib import messages from django.contrib.auth.models import Group from django.contrib.auth.decorators import login_required @@ -63,7 +64,7 @@ def create_request(request, groupid): obj.group = group obj.changed_by = request.user obj.save() - request.user.message_set.create(message="You membership request has been created.") + messages.add_message(request, messages.INFO, "You membership request has been created.") return HttpResponseRedirect(reverse('groups.views.index')) # Redirect after POST else: form = GroupRequestForm() # An unbound form diff --git a/hr/views.py b/hr/views.py index bd6429b..0b117a2 100644 --- a/hr/views.py +++ b/hr/views.py @@ -3,6 +3,7 @@ import simplejson from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import render_to_response, get_object_or_404 from django.core.urlresolvers import reverse +from django.contrib import messages from django.contrib.auth.models import User, Group from django.contrib.auth.decorators import login_required from django.template import RequestContext @@ -114,13 +115,13 @@ def add_application(request): if form.is_valid(): if form.cleaned_data['character'].corporation == form.cleaned_data['corporation']: - request.user.message_set.create(message="This character is already a member of %s" % form.cleaned_data['corporation']) + messages.add_message(request, messages.WARNING, "This character is already a member of %s" % form.cleaned_data['corporation']) return HttpResponseRedirect(reverse('hr.views.view_applications')) app = Application(user=request.user, character=form.cleaned_data['character'], corporation=form.cleaned_data['corporation']) app.save() - request.user.message_set.create(message="Your application to %s has been created." % app.corporation) + messages.add_message(request, messages.INFO, "Your application to %s has been created." % app.corporation) return HttpResponseRedirect(reverse('hr.views.view_application', args=[app.id])) else: @@ -152,7 +153,7 @@ def add_recommendation(request): rec.application = form.cleaned_data['application'] rec.save() - request.user.message_set.create(message="Recommendation added to %s's application" % rec.application ) + messages.add_message(request, messages.INFO, "Recommendation added to %s's application" % rec.application ) return HttpResponseRedirect(reverse('hr.views.view_recommendations')) else: diff --git a/settings.py b/settings.py index cc4ee90..16df32a 100755 --- a/settings.py +++ b/settings.py @@ -60,6 +60,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', ) @@ -69,9 +70,20 @@ TEMPLATE_DIRS = ( os.path.join(os.path.dirname(__file__), "templates"), ) +TEMPLATE_CONTEXT_PRCESSORS = ( + "django.contrib.auth.context_processors.auth", + "django.core.context_processors.debug", + "django.core.context_processors.i18n", + "django.contrib.staticfiles.context_processors.staticfiles", + "django.contrib.messages.context_processors.messages" +) + +MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' + INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', + 'django.contriub.messages', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', diff --git a/sso/models.py b/sso/models.py index b65cda6..9520030 100644 --- a/sso/models.py +++ b/sso/models.py @@ -90,14 +90,12 @@ class SSOUser(models.Model): servacc.active = 0 servacc.save() self._log.debug("Disabled - User %s, Acc %s" % (self.user, servacc.service)) - servacc.user.message_set.create(message="Your %s account has been disabled due to lack of permissions. If this is incorrect, check your API keys to see if they are valid" % (servacc.service)) pass else: if not servacc.active: servacc.active = 1 servacc.save() self._log.debug("Enabled - User %s, Acc %s" % (self.user, servacc.service)) - servacc.user.message_set.create(message="Your %s account has been re-enabled, you may need to reset your password to access this service again" % (servacc.service)) pass def __str__(self): diff --git a/sso/views.py b/sso/views.py index cb33d53..e9c3f18 100644 --- a/sso/views.py +++ b/sso/views.py @@ -6,6 +6,7 @@ import unicodedata from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import render_to_response from django.core.urlresolvers import reverse +from django.contrib import messages from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.template import RequestContext @@ -62,15 +63,15 @@ def eveapi_add(request): return HttpResponseRedirect(reverse('sso.views.profile')) if not acc: - request.user.message_set.create(message="A error was encountered while adding your API key, try again later. If the issue persists, contact a Admin.") + messages.add_message(request, messages.ERROR, "A error was encountered while adding your API key, try again later. If the issue persists, contact a Admin.") return HttpResponseRedirect(reverse('sso.views.profile')) acc.user = request.user acc.description = form.cleaned_data['description'] acc.save() - request.user.message_set.create(message="EVE API successfully added.") + messages.add_message(request, messages.INFO, "EVE API successfully added.") if len(ServiceAccount.objects.filter(user=request.user, active=0)) > 0: - request.user.message_set.create(message="It can take up to 10 minutes for inactive accounts to be reenabled, please check back later.") + messages.add_message(request, messages.INFO, "It can take up to 10 minutes for inactive accounts to be reenabled, please check back later.") request.user.get_profile().update_access() @@ -91,7 +92,7 @@ def eveapi_del(request, userid=0): if acc.user == request.user: acc.delete() - request.user.message_set.create(message="EVE API key successfully deleted.") + messages.add_message(request, messages.INFO, "EVE API key successfully deleted.") return HttpResponseRedirect(reverse('sso.views.profile')) @@ -112,7 +113,7 @@ def eveapi_refresh(request, userid=0): acc = EVEAccount.objects.get(id=userid) return HttpResponse(serializers.serialize('json', [acc]), mimetype='application/javascript') else: - request.user.message_set.create(message="Key %s has been refreshed from the EVE API." % acc.api_user_id) + messages.add_message(request, messages.INFO,"Key %s has been refreshed from the EVE API." % acc.api_user_id) return HttpResponseRedirect(reverse('sso.views.profile')) @@ -190,9 +191,9 @@ def service_del(request, serviceid=0): try: acc.delete() except ServiceError: - request.user.message_set.create(message="Error deleting the service account, try again later.") + messages.add_message(request, messages.ERROR, "Error deleting the service account, try again later.") else: - request.user.message_set.create(message="Service account successfully deleted.") + messages.add_message(request, messages.INFO, "Service account successfully deleted.") else: return render_to_response('sso/serviceaccount/deleteconfirm.html', locals(), context_instance=RequestContext(request)) @@ -241,11 +242,11 @@ def reddit_add(request): try: acc.api_update() except RedditAccount.DoesNotExist: - request.user.message_set.create(message="Error, user %s does not exist on Reddit" % acc.username ) + messages.add_message(request, messages.ERROR, "Error, user %s does not exist on Reddit" % acc.username ) return render_to_response('sso/redditaccount.html', locals(), context_instance=RequestContext(request)) acc.save() - request.user.message_set.create(message="Reddit account %s successfully added." % acc.username) + messages.add_message(request, messages.INFO, "Reddit account %s successfully added." % acc.username) return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST else: defaults = { 'username': request.user.username, } @@ -263,7 +264,7 @@ def reddit_del(request, redditid=0): if acc.user == request.user: acc.delete() - request.user.message_set.create(message="Reddit account successfully deleted.") + messages.add_message(request, messages.INFO, "Reddit account successfully deleted.") return HttpResponseRedirect(reverse('sso.views.profile')) @@ -308,7 +309,7 @@ def user_lookup(request): elif form.cleaned_data['type'] == '4': users = User.objects.filter(email__icontains=form.cleaned_data['username']).only('username') else: - request.user.message_set.create(message="Error parsing form, Type: %s, Value: %s" % (form.cleaned_data['type'], form.cleaned_data['username'])) + messages.add_message(request, messages.ERROR, "Error parsing form, Type: %s, Value: %s" % (form.cleaned_data['type'], form.cleaned_data['username'])) return HttpResponseRedirect(reverse('sso.views.user_lookup')) if users and len(users) == 1: @@ -316,7 +317,7 @@ def user_lookup(request): elif users and len(users) > 1: return render_to_response('sso/lookup/lookuplist.html', locals(), context_instance=RequestContext(request)) else: - request.user.message_set.create(message="No results found") + messages.add_message(request, messages.INFO, "No results found") return HttpResponseRedirect(reverse('sso.views.user_lookup')) return render_to_response('sso/lookup/userlookup.html', locals(), context_instance=RequestContext(request)) @@ -330,7 +331,7 @@ def set_apipasswd(request): profile = request.user.get_profile() profile.api_service_password = hashlib.sha1(form.cleaned_data['password']).hexdigest() profile.save() - request.user.message_set.create(message="Your API Services password has been set.") + messages.add_message(request, messages.INFO, "Your API Services password has been set.") return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST else: form = APIPasswordForm() # An unbound form