From 5d9ffbb691d0f196f9536202edb33699d78ef7e5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kosolapov Date: Wed, 1 Apr 2020 11:49:27 +0700 Subject: [PATCH] compatible with django 2.2 --- singleton_models/admin.py | 46 +++++++++++-------- .../admin/singleton_models/change_form.html | 2 +- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/singleton_models/admin.py b/singleton_models/admin.py index 508da1d..9e4ce57 100644 --- a/singleton_models/admin.py +++ b/singleton_models/admin.py @@ -1,6 +1,12 @@ +import django from django.contrib import admin from django.utils.translation import ugettext as _ -from django.utils.encoding import force_unicode + +if django.VERSION >= (1, 8): + from django.utils.encoding import force_text +else: + from django.utils.encoding import force_unicode as force_text + from django.http import HttpResponseRedirect from functools import update_wrapper @@ -18,28 +24,30 @@ def has_delete_permission(self, request, obj=None): return False def get_urls(self): - try: - from django.conf.urls.defaults import patterns, url - except ImportError: - from django.conf.urls import patterns, url - def wrap(view): def wrapper(*args, **kwargs): return self.admin_site.admin_view(view)(*args, **kwargs) return update_wrapper(wrapper, view) - info = self.model._meta.app_label, self.model._meta.module_name + if django.VERSION >= (1, 8): + info = self.model._meta.app_label, self.model._meta.model_name + from django.urls import path + urlpatterns = [ + path(r'history/', wrap(self.history_view), {'object_id': '1'}, name='%s_%s_history' % info), + path(r'', wrap(self.change_view), {'object_id': '1'}, name='%s_%s_changelist' % info), + ] + else: + try: + from django.conf.urls.defaults import patterns, url + except ImportError: + from django.conf.urls import patterns, url + 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_changelist' % 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): @@ -48,8 +56,8 @@ def response_change(self, request, obj): """ opts = obj._meta - msg = _('%(obj)s was changed successfully.') % {'obj': force_unicode(obj)} - if request.POST.has_key("_continue"): + msg = _('%(obj)s was changed successfully.') % {'obj': force_text(obj)} + if request.POST.get("_continue"): self.message_user(request, msg + ' ' + _("You may edit it again below.")) return HttpResponseRedirect(request.path) else: diff --git a/singleton_models/templates/admin/singleton_models/change_form.html b/singleton_models/templates/admin/singleton_models/change_form.html index d401a98..a23ffb9 100644 --- a/singleton_models/templates/admin/singleton_models/change_form.html +++ b/singleton_models/templates/admin/singleton_models/change_form.html @@ -4,7 +4,7 @@ {% block breadcrumbs %} {% endblock %}