|
@@ -28,7 +28,7 @@ from django.utils import six
|
|
|
from django.utils.text import capfirst, get_text_list
|
|
|
from django.utils.translation import ugettext as _
|
|
|
from django.utils.translation import ungettext
|
|
|
-from django.utils.encoding import force_unicode
|
|
|
+from django.utils.encoding import force_text
|
|
|
|
|
|
HORIZONTAL, VERTICAL = 1, 2
|
|
|
# returns the <ul> class for a given radio_admin field
|
|
@@ -520,7 +520,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
user_id = request.user.pk,
|
|
|
content_type_id = ContentType.objects.get_for_model(object).pk,
|
|
|
object_id = object.pk,
|
|
|
- object_repr = force_unicode(object),
|
|
|
+ object_repr = force_text(object),
|
|
|
action_flag = ADDITION
|
|
|
)
|
|
|
|
|
@@ -535,7 +535,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
user_id = request.user.pk,
|
|
|
content_type_id = ContentType.objects.get_for_model(object).pk,
|
|
|
object_id = object.pk,
|
|
|
- object_repr = force_unicode(object),
|
|
|
+ object_repr = force_text(object),
|
|
|
action_flag = CHANGE,
|
|
|
change_message = message
|
|
|
)
|
|
@@ -560,7 +560,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
"""
|
|
|
A list_display column containing a checkbox widget.
|
|
|
"""
|
|
|
- return helpers.checkbox.render(helpers.ACTION_CHECKBOX_NAME, force_unicode(obj.pk))
|
|
|
+ return helpers.checkbox.render(helpers.ACTION_CHECKBOX_NAME, force_text(obj.pk))
|
|
|
action_checkbox.short_description = mark_safe('<input type="checkbox" id="action-toggle" />')
|
|
|
action_checkbox.allow_tags = True
|
|
|
|
|
@@ -674,17 +674,17 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
for formset in formsets:
|
|
|
for added_object in formset.new_objects:
|
|
|
change_message.append(_('Added %(name)s "%(object)s".')
|
|
|
- % {'name': force_unicode(added_object._meta.verbose_name),
|
|
|
- 'object': force_unicode(added_object)})
|
|
|
+ % {'name': force_text(added_object._meta.verbose_name),
|
|
|
+ 'object': force_text(added_object)})
|
|
|
for changed_object, changed_fields in formset.changed_objects:
|
|
|
change_message.append(_('Changed %(list)s for %(name)s "%(object)s".')
|
|
|
% {'list': get_text_list(changed_fields, _('and')),
|
|
|
- 'name': force_unicode(changed_object._meta.verbose_name),
|
|
|
- 'object': force_unicode(changed_object)})
|
|
|
+ 'name': force_text(changed_object._meta.verbose_name),
|
|
|
+ 'object': force_text(changed_object)})
|
|
|
for deleted_object in formset.deleted_objects:
|
|
|
change_message.append(_('Deleted %(name)s "%(object)s".')
|
|
|
- % {'name': force_unicode(deleted_object._meta.verbose_name),
|
|
|
- 'object': force_unicode(deleted_object)})
|
|
|
+ % {'name': force_text(deleted_object._meta.verbose_name),
|
|
|
+ 'object': force_text(deleted_object)})
|
|
|
change_message = ' '.join(change_message)
|
|
|
return change_message or _('No fields changed.')
|
|
|
|
|
@@ -769,7 +769,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
opts = obj._meta
|
|
|
pk_value = obj._get_pk_val()
|
|
|
|
|
|
- msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': force_unicode(opts.verbose_name), 'obj': force_unicode(obj)}
|
|
|
+ msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': force_text(opts.verbose_name), 'obj': force_text(obj)}
|
|
|
# Here, we distinguish between different save types by checking for
|
|
|
# the presence of keys in request.POST.
|
|
|
if "_continue" in request.POST:
|
|
@@ -782,10 +782,10 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
return HttpResponse(
|
|
|
'<!DOCTYPE html><html><head><title></title></head><body>'
|
|
|
'<script type="text/javascript">opener.dismissAddAnotherPopup(window, "%s", "%s");</script></body></html>' % \
|
|
|
- # escape() calls force_unicode.
|
|
|
+ # escape() calls force_text.
|
|
|
(escape(pk_value), escapejs(obj)))
|
|
|
elif "_addanother" in request.POST:
|
|
|
- self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(opts.verbose_name)))
|
|
|
+ self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_text(opts.verbose_name)))
|
|
|
return HttpResponseRedirect(request.path)
|
|
|
else:
|
|
|
self.message_user(request, msg)
|
|
@@ -819,7 +819,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
|
|
|
pk_value = obj._get_pk_val()
|
|
|
|
|
|
- msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': force_unicode(verbose_name), 'obj': force_unicode(obj)}
|
|
|
+ msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': force_text(verbose_name), 'obj': force_text(obj)}
|
|
|
if "_continue" in request.POST:
|
|
|
self.message_user(request, msg + ' ' + _("You may edit it again below."))
|
|
|
if "_popup" in request.REQUEST:
|
|
@@ -827,14 +827,14 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
else:
|
|
|
return HttpResponseRedirect(request.path)
|
|
|
elif "_saveasnew" in request.POST:
|
|
|
- msg = _('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': force_unicode(verbose_name), 'obj': obj}
|
|
|
+ msg = _('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': force_text(verbose_name), 'obj': obj}
|
|
|
self.message_user(request, msg)
|
|
|
return HttpResponseRedirect(reverse('admin:%s_%s_change' %
|
|
|
(opts.app_label, module_name),
|
|
|
args=(pk_value,),
|
|
|
current_app=self.admin_site.name))
|
|
|
elif "_addanother" in request.POST:
|
|
|
- self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(verbose_name)))
|
|
|
+ self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_text(verbose_name)))
|
|
|
return HttpResponseRedirect(reverse('admin:%s_%s_add' %
|
|
|
(opts.app_label, module_name),
|
|
|
current_app=self.admin_site.name))
|
|
@@ -995,7 +995,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
media = media + inline_admin_formset.media
|
|
|
|
|
|
context = {
|
|
|
- 'title': _('Add %s') % force_unicode(opts.verbose_name),
|
|
|
+ 'title': _('Add %s') % force_text(opts.verbose_name),
|
|
|
'adminform': adminForm,
|
|
|
'is_popup': "_popup" in request.REQUEST,
|
|
|
'media': media,
|
|
@@ -1019,7 +1019,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
raise PermissionDenied
|
|
|
|
|
|
if obj is None:
|
|
|
- raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)})
|
|
|
+ raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_text(opts.verbose_name), 'key': escape(object_id)})
|
|
|
|
|
|
if request.method == 'POST' and "_saveasnew" in request.POST:
|
|
|
return self.add_view(request, form_url=reverse('admin:%s_%s_add' %
|
|
@@ -1085,7 +1085,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
media = media + inline_admin_formset.media
|
|
|
|
|
|
context = {
|
|
|
- 'title': _('Change %s') % force_unicode(opts.verbose_name),
|
|
|
+ 'title': _('Change %s') % force_text(opts.verbose_name),
|
|
|
'adminform': adminForm,
|
|
|
'object_id': object_id,
|
|
|
'original': obj,
|
|
@@ -1194,14 +1194,14 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
|
|
|
if changecount:
|
|
|
if changecount == 1:
|
|
|
- name = force_unicode(opts.verbose_name)
|
|
|
+ name = force_text(opts.verbose_name)
|
|
|
else:
|
|
|
- name = force_unicode(opts.verbose_name_plural)
|
|
|
+ name = force_text(opts.verbose_name_plural)
|
|
|
msg = ungettext("%(count)s %(name)s was changed successfully.",
|
|
|
"%(count)s %(name)s were changed successfully.",
|
|
|
changecount) % {'count': changecount,
|
|
|
'name': name,
|
|
|
- 'obj': force_unicode(obj)}
|
|
|
+ 'obj': force_text(obj)}
|
|
|
self.message_user(request, msg)
|
|
|
|
|
|
return HttpResponseRedirect(request.get_full_path())
|
|
@@ -1228,7 +1228,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
'All %(total_count)s selected', cl.result_count)
|
|
|
|
|
|
context = {
|
|
|
- 'module_name': force_unicode(opts.verbose_name_plural),
|
|
|
+ 'module_name': force_text(opts.verbose_name_plural),
|
|
|
'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)},
|
|
|
'selection_note_all': selection_note_all % {'total_count': cl.result_count},
|
|
|
'title': cl.title,
|
|
@@ -1263,7 +1263,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
raise PermissionDenied
|
|
|
|
|
|
if obj is None:
|
|
|
- raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)})
|
|
|
+ raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_text(opts.verbose_name), 'key': escape(object_id)})
|
|
|
|
|
|
using = router.db_for_write(self.model)
|
|
|
|
|
@@ -1275,11 +1275,11 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
if request.POST: # The user has already confirmed the deletion.
|
|
|
if perms_needed:
|
|
|
raise PermissionDenied
|
|
|
- obj_display = force_unicode(obj)
|
|
|
+ obj_display = force_text(obj)
|
|
|
self.log_deletion(request, obj, obj_display)
|
|
|
self.delete_model(request, obj)
|
|
|
|
|
|
- self.message_user(request, _('The %(name)s "%(obj)s" was deleted successfully.') % {'name': force_unicode(opts.verbose_name), 'obj': force_unicode(obj_display)})
|
|
|
+ self.message_user(request, _('The %(name)s "%(obj)s" was deleted successfully.') % {'name': force_text(opts.verbose_name), 'obj': force_text(obj_display)})
|
|
|
|
|
|
if not self.has_change_permission(request, None):
|
|
|
return HttpResponseRedirect(reverse('admin:index',
|
|
@@ -1288,7 +1288,7 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
(opts.app_label, opts.module_name),
|
|
|
current_app=self.admin_site.name))
|
|
|
|
|
|
- object_name = force_unicode(opts.verbose_name)
|
|
|
+ object_name = force_text(opts.verbose_name)
|
|
|
|
|
|
if perms_needed or protected:
|
|
|
title = _("Cannot delete %(name)s") % {"name": object_name}
|
|
@@ -1326,9 +1326,9 @@ class ModelAdmin(BaseModelAdmin):
|
|
|
# If no history was found, see whether this object even exists.
|
|
|
obj = get_object_or_404(model, pk=unquote(object_id))
|
|
|
context = {
|
|
|
- 'title': _('Change history: %s') % force_unicode(obj),
|
|
|
+ 'title': _('Change history: %s') % force_text(obj),
|
|
|
'action_list': action_list,
|
|
|
- 'module_name': capfirst(force_unicode(opts.verbose_name_plural)),
|
|
|
+ 'module_name': capfirst(force_text(opts.verbose_name_plural)),
|
|
|
'object': obj,
|
|
|
'app_label': app_label,
|
|
|
'opts': opts,
|