diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html index 95a5eb6fae..96a719142b 100644 --- a/django/contrib/admin/templates/admin/change_form.html +++ b/django/contrib/admin/templates/admin/change_form.html @@ -9,8 +9,8 @@ {% block userlinks %}{% trans 'Change password' %} / {% trans 'Log out' %}{% endblock %} {% block breadcrumbs %}{% if not is_popup %} {% endif %}{% endblock %} {% block content %}
diff --git a/django/contrib/admin/templatetags/breadcrumbs.py b/django/contrib/admin/templatetags/breadcrumbs.py index bca5e04e19..41705bbdb4 100644 --- a/django/contrib/admin/templatetags/breadcrumbs.py +++ b/django/contrib/admin/templatetags/breadcrumbs.py @@ -10,7 +10,7 @@ def path_breadcrumbs(path, overrides="", front=0, back=0): text = [] for comp, ov in zip(comps, overs): label = ov or comp - text.append("%s›\n" % ("../" * backs, label)) + text.append("%s › \n" % ("../" * backs, label)) backs -= 1 return "".join(text) path_breadcrumbs = register.simple_tag(path_breadcrumbs) diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index 3bdc7f376a..38e9f3ca13 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -58,18 +58,17 @@ def find_model(mod, remaining): def get_app_label(mod): #HACK - modcomps = mod.__name__.split('.') - return modcomps[-2] + return mod.__name__.split('.')[-2] def get_model_and_app(path): comps = path.split('/') comps = comps[:-1] # remove '' after final / for mod in models.get_installed_models(): - remaining, matched = matches_app(mod, comps) + remaining, matched = matches_app(mod, comps) if matched and len(remaining) > 0: # print "matched ", mod # print "left", remaining - return ( find_model(mod, remaining), get_app_label(mod) ) + return (find_model(mod, remaining), get_app_label(mod)) raise Http404 # Couldn't find app @@ -83,11 +82,11 @@ def url_for_model(model): for mod in models.get_installed_models(): remaining, matched = matches_app(mod, comps) if matched and len(remaining) > 0: - comps = comps[: - len(remaining)] + remaining[1:] - url = "%s%s/%s/" % (ADMIN_PREFIX, '/'.join(comps) , model.__name__.lower() ) + comps = comps[:-len(remaining)] + remaining[1:] + url = "%s%s/%s/" % (ADMIN_PREFIX, '/'.join(comps) , model.__name__.lower()) _model_urls[model] = url return url - raise ImproperlyConfigured('%s is not a model in an installed app' % model.__name__ ) + raise ImproperlyConfigured, '%s is not a model in an installed app' % model.__name__ def index(request): return render_to_response('admin/index', {'title': _('Site administration')}, context_instance=Context(request)) diff --git a/django/contrib/admin/views/stages/add.py b/django/contrib/admin/views/stages/add.py index 92a1d4b321..a4532fe4b7 100644 --- a/django/contrib/admin/views/stages/add.py +++ b/django/contrib/admin/views/stages/add.py @@ -3,6 +3,7 @@ from django.contrib.admin.views.decorators import staff_member_required from django.contrib.admin.views.main import get_model_and_app from django.contrib.admin.views.stages.modify import render_change_form from django.core import formfields, template +from django.core.exceptions import Http404, ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied from django.core.extensions import DjangoContext as Context from django.db import models from django.utils.httpwrappers import HttpResponse, HttpResponseRedirect @@ -27,15 +28,15 @@ def add_stage(request, path, show_delete=False, form_url='', post_url='../', pos new_data = request.POST.copy() if opts.has_field_type(models.FileField): new_data.update(request.FILES) - - #save a copy of the data to use for errors later. + + #save a copy of the data to use for errors later. data = new_data.copy() - + manipulator.do_html2python(new_data) #update the manipulator with the effects of previous commands. manipulator.update(new_data) #get the errors on the updated shape of the manipulator - #HACK - validators should not work on POSTED data directly... + #HACK - validators should not work on POSTED data directly... errors = manipulator.get_validation_errors(data) if request.POST.has_key("_preview"): pass diff --git a/django/contrib/admin/views/stages/change.py b/django/contrib/admin/views/stages/change.py index a632193dec..a4f03f753a 100644 --- a/django/contrib/admin/views/stages/change.py +++ b/django/contrib/admin/views/stages/change.py @@ -1,5 +1,6 @@ from django.contrib.admin.views.main import get_model_and_app from django.core import formfields, template +from django.core.exceptions import Http404, ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied from django.core.extensions import DjangoContext as Context from django.contrib.admin.views.stages.modify import render_change_form from django.db import models @@ -11,8 +12,6 @@ try: except ImportError: raise ImproperlyConfigured, "You don't have 'django.contrib.admin' in INSTALLED_APPS." -from django.core.exceptions import Http404, ImproperlyConfigured, ObjectDoesNotExist - def log_change_message(user, opts, manipulator, new_object): pk_value = getattr(new_object, opts.pk.column) # Construct the change message. @@ -36,7 +35,7 @@ def change_stage(request, path, object_id): raise PermissionDenied if request.POST and request.POST.has_key("_saveasnew"): return add_stage(request, path, form_url='../../add/') - + try: manipulator = model.ChangeManipulator(object_id) except ObjectDoesNotExist: @@ -46,15 +45,15 @@ def change_stage(request, path, object_id): new_data = request.POST.copy() if opts.has_field_type(models.FileField): new_data.update(request.FILES) - - #save a copy of the data to use for errors later. + + #save a copy of the data to use for errors later. data = new_data.copy() manipulator.do_html2python(new_data) #update the manipulator with the effects of previous commands. manipulator.update(new_data) #get the errors on the updated shape of the manipulator - #HACK - validators should not work on POSTED data directly... - + #HACK - validators should not work on POSTED data directly... + if request.POST.has_key("_preview"): errors = manipulator.get_validation_errors(data) elif request.POST.has_key("command"): @@ -86,11 +85,11 @@ def change_stage(request, path, object_id): else: request.user.add_message(msg) return HttpResponseRedirect("../../") - else: + else: # Populate new_data with a "flattened" version of the current data. new_data = manipulator.flatten_data() errors = {} - + # Populate the FormWrapper. form = formfields.FormWrapper(manipulator, new_data, errors) form.original = manipulator.original_object