From 795e6cbcf2dba659330577d7a1550d66f134065c Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Tue, 17 Jan 2006 22:24:39 +0000 Subject: [PATCH] magic-removal: Cleaned up various messiness in admin code git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2042 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/admin/views/main.py | 36 +++++---------------- django/contrib/admin/views/stages/add.py | 3 +- django/contrib/admin/views/stages/change.py | 4 +-- django/contrib/admin/views/stages/delete.py | 2 +- django/contrib/admin/views/stages/modify.py | 6 ++-- django/db/models/fields/__init__.py | 2 +- 6 files changed, 14 insertions(+), 39 deletions(-) diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index bb2bd0bba9..0fd9239bbe 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -1,44 +1,28 @@ -# Generic admin views. +from django import template from django.conf import settings from django.contrib.admin.views.decorators import staff_member_required -from django import template -from django.template import loader -from django.db import models -from django.http import Http404 from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied -from django.template import RequestContext as Context from django.core.extensions import get_object_or_404, render_to_response +from django.db import models +from django.http import Http404, HttpResponse, HttpResponseRedirect +from django.template import loader, RequestContext from django.utils import dateformat from django.utils.html import escape -from django.http import HttpResponse, HttpResponseRedirect from django.utils.text import capfirst, get_text_list import operator from itertools import izip ADMIN_PREFIX = "/admin/" -#def _get_mod_opts(app_label, module_name): -# "Helper function that returns a tuple of (module, opts), raising Http404 if necessary." -# try: -# mod = models.get_app(app_label) -# except ImportError: -# raise Http404 # Invalid app or module name. Maybe it's not in INSTALLED_APPS. -# opts = mod.Klass._meta -# if not opts.admin: -# raise Http404 # This object is valid but has no admin interface. -# return mod, opts - def matches_app(mod, comps): modcomps = mod.__name__.split('.')[:-1] #HACK: leave off 'models' for c, mc in izip(comps, modcomps): if c != mc: - return ([], False) - return (comps[len(modcomps):], True) + return [], False + return comps[len(modcomps):], True def find_model(mod, remaining): - # print "finding ", mod, remaining if len(remaining) == 0: - # print "no comps left" raise Http404 if len(remaining) == 1: if hasattr(mod, '_MODELS'): @@ -51,7 +35,6 @@ def find_model(mod, remaining): raise Http404 else: child = getattr(mod, remaining[0], None) - # print mod, remaining[0], child if child: return find_model(child, remaining[1:]) else: @@ -67,10 +50,7 @@ def get_model_and_app(path): for mod in models.get_installed_models(): 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)) - raise Http404 # Couldn't find app _model_urls = {} @@ -90,7 +70,7 @@ def url_for_model(model): 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)) + return render_to_response('admin/index', {'title': _('Site administration')}, context_instance=RequestContext(request)) index = staff_member_required(index) def history(request, app_label, module_name, object_id): @@ -104,5 +84,5 @@ def history(request, app_label, module_name, object_id): 'action_list': action_list, 'module_name': capfirst(opts.verbose_name_plural), 'object': obj, - }, context_instance=Context(request)) + }, context_instance=RequestContext(request)) history = staff_member_required(history) diff --git a/django/contrib/admin/views/stages/add.py b/django/contrib/admin/views/stages/add.py index 00fddf0f8f..085b6c3e9a 100644 --- a/django/contrib/admin/views/stages/add.py +++ b/django/contrib/admin/views/stages/add.py @@ -4,11 +4,10 @@ from django.contrib.admin.views.main import get_model_and_app from django.contrib.admin.views.stages.modify import render_change_form from django import forms from django import template -from django.http import Http404 +from django.http import Http404, HttpResponse, HttpResponseRedirect from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied from django.template import RequestContext as Context from django.db import models -from django.http import HttpResponse, HttpResponseRedirect from django.utils.text import capfirst, get_text_list try: from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION diff --git a/django/contrib/admin/views/stages/change.py b/django/contrib/admin/views/stages/change.py index 28171c27e1..55243c99a3 100644 --- a/django/contrib/admin/views/stages/change.py +++ b/django/contrib/admin/views/stages/change.py @@ -1,13 +1,12 @@ from django.contrib.admin.views.main import get_model_and_app from django import forms from django import template -from django.http import Http404 +from django.http import Http404, HttpResponse, HttpResponseRedirect from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied from django.template import RequestContext as Context from django.contrib.admin.views.stages.modify import render_change_form from django.db import models from django.utils.text import capfirst, get_text_list -from django.http import HttpResponse, HttpResponseRedirect from django.contrib.admin.views.decorators import staff_member_required try: from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION @@ -32,7 +31,6 @@ def log_change_message(user, opts, manipulator, new_object): def change_stage(request, path, object_id): model, app_label = get_model_and_app(path) opts = model._meta - #mod, opts = _get_mod_opts(app_label, module_name) if not request.user.has_perm(app_label + '.' + opts.get_change_permission()): raise PermissionDenied if request.POST and request.POST.has_key("_saveasnew"): diff --git a/django/contrib/admin/views/stages/delete.py b/django/contrib/admin/views/stages/delete.py index f8dd8dd765..85703d377b 100644 --- a/django/contrib/admin/views/stages/delete.py +++ b/django/contrib/admin/views/stages/delete.py @@ -1,6 +1,6 @@ from django.contrib.admin.views.decorators import staff_member_required from django.contrib.admin.views.main import get_model_and_app -from django.core.extensions import get_object_or_404,render_to_response +from django.core.extensions import get_object_or_404, render_to_response from django.template import RequestContext as Context from django.utils.text import capfirst from django.utils.html import escape diff --git a/django/contrib/admin/views/stages/modify.py b/django/contrib/admin/views/stages/modify.py index dd65588758..d10b902482 100644 --- a/django/contrib/admin/views/stages/modify.py +++ b/django/contrib/admin/views/stages/modify.py @@ -1,6 +1,5 @@ from django.db.models.fields import BoundField, BoundFieldLine, BoundFieldSet from django.db import models - from django.core.extensions import render_to_response from django.contrib.admin.views.main import url_for_model @@ -108,7 +107,7 @@ class BoundManipulator(object): self.model = model self.opts = model._meta self.inline_related_objects = self.opts.get_followed_related_objects(manipulator.follow) - self.original = hasattr(manipulator, 'original_object') and manipulator.original_object or None + self.original = getattr(manipulator, 'original_object', None) self.bound_field_sets = [field_set.bind(field_mapping, self.original, AdminBoundFieldSet) for field_set in self.opts.admin.get_field_sets(self.opts)] self.ordered_objects = self.opts.get_ordered_objects()[:] @@ -123,8 +122,7 @@ class AdminBoundManipulator(BoundManipulator): self.coltype = self.ordered_objects and 'colMS' or 'colM' self.has_absolute_url = hasattr(model, 'get_absolute_url') - self.form_enc_attrib = self.opts.has_field_type(models.FileField) and \ - 'enctype="multipart/form-data" ' or '' + self.form_enc_attrib = self.opts.has_field_type(models.FileField) and 'enctype="multipart/form-data" ' or '' self.first_form_field_id = self.bound_field_sets[0].bound_field_lines[0].bound_fields[0].form_fields[0].get_id(); self.ordered_object_pk_names = [o.pk.name for o in self.ordered_objects] diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 695e767d51..adb206bfc5 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -294,7 +294,7 @@ class Field(object): for x in rel_model._default_manager.get_list(**rel_model._meta.limit_choices_to)] def get_choices_default(self): - if(self.radio_admin): + if self.radio_admin: return self.get_choices(include_blank=self.blank, blank_choice=BLANK_CHOICE_NONE) else: return self.get_choices()