From 3f3b922b95ff55244e961e1df2499149f5890112 Mon Sep 17 00:00:00 2001 From: Piotr Tynecki Date: Mon, 30 Jul 2012 13:46:12 +0200 Subject: [PATCH] Compatibility with Django 1.4 --- singleton_models/admin.py | 53 ++++++++----------- .../admin/singleton_models/change_form.html | 10 ---- 2 files changed, 22 insertions(+), 41 deletions(-) delete mode 100644 singleton_models/templates/admin/singleton_models/change_form.html diff --git a/singleton_models/admin.py b/singleton_models/admin.py index 461c41b..5e55bc7 100644 --- a/singleton_models/admin.py +++ b/singleton_models/admin.py @@ -4,17 +4,15 @@ from django.http import HttpResponseRedirect from django.utils.functional import update_wrapper -class SingletonModelAdmin(admin.ModelAdmin): +from django.conf.urls.defaults import patterns +from django.conf.urls.defaults import url - change_form_template = "admin/singleton_models/change_form.html" - +class SingletonModelAdmin(admin.ModelAdmin): def has_add_permission(self, request): - """ Singleton pattern: prevent addition of new objects """ + """Singleton pattern: prevent addition of new objects.""" return False - - def get_urls(self): - from django.conf.urls.defaults import patterns, url + def get_urls(self): def wrap(view): def wrapper(*args, **kwargs): return self.admin_site.admin_view(view)(*args, **kwargs) @@ -22,38 +20,31 @@ def wrapper(*args, **kwargs): info = self.model._meta.app_label, self.model._meta.module_name - urlpatterns = patterns('', - url(r'^history/$', - wrap(self.history_view), - {'object_id': '1'}, - name='%s_%s_history' % info), - url(r'^$', - wrap(self.change_view), - {'object_id': '1'}, - name='%s_%s_change' % info), + urlpatterns = patterns("", + url(r"^history/$", wrap(self.history_view), {"object_id": "1"}, name = "%s_%s_history" % info), + url(r"^$", wrap(self.change_view), {"object_id": "1"}, name = "%s_%s_changelist" % info), ) + return urlpatterns - + def response_change(self, request, obj): - """ - Determines the HttpResponse for the change_view stage. - """ + """Determines the HttpResponse for the change_view stage.""" opts = obj._meta - msg = _('%(obj)s was changed successfully.') % {'obj': force_unicode(obj)} + # Django 1.4 - remember about imports: https://docs.djangoproject.com/en/dev/ref/contrib/messages/ + msg = _("%s was changed successfully.") % force_unicode(obj) + if request.POST.has_key("_continue"): - self.message_user(request, msg + ' ' + _("You may edit it again below.")) + self.message_user(request, "%s %s" % (msg, _("You may edit it again below."))) + return HttpResponseRedirect(request.path) else: self.message_user(request, msg) + return HttpResponseRedirect("../../") - - def change_view(self, request, object_id, extra_context=None): - if object_id=='1': - self.model.objects.get_or_create(pk=1) - return super(SingletonModelAdmin, self).change_view( - request, - object_id, - extra_context=extra_context, - ) + def change_view(self, request, object_id, extra_context = None): + if object_id == "1": + self.model.objects.get_or_create(pk = 1) + + return super(SingletonModelAdmin, self).change_view(request, object_id, extra_context=extra_context) diff --git a/singleton_models/templates/admin/singleton_models/change_form.html b/singleton_models/templates/admin/singleton_models/change_form.html deleted file mode 100644 index d401a98..0000000 --- a/singleton_models/templates/admin/singleton_models/change_form.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "admin/change_form.html" %} -{% load i18n %} - -{% block breadcrumbs %} - -{% endblock %}