Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 27 additions & 19 deletions singleton_models/admin.py
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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):
Expand All @@ -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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{% block breadcrumbs %}
<div class="breadcrumbs">
<a href="../../">{% trans 'Home' %}</a> &rsaquo;
<a href="../">{{ app_label|capfirst|escape }}</a> &rsaquo;
<a href="../">{{ opts.app_config.verbose_name|default:app_label|capfirst|escape }}</a> &rsaquo;
{{ opts.verbose_name|capfirst }}
</div>
{% endblock %}