Ticket #19002: sites.diff

File sites.diff, 6.4 KB (added by Riccardo Di Virgilio, 12 years ago)
  • sites.py

    old new  
    1010from django.core.urlresolvers import reverse, NoReverseMatch
    1111from django.template.response import TemplateResponse
    1212from django.utils.safestring import mark_safe
    13 from django.utils import six
    1413from django.utils.text import capfirst
    1514from django.utils.translation import ugettext as _
    1615from django.views.decorators.cache import never_cache
     
    134133        """
    135134        Get all the enabled actions as an iterable of (name, func).
    136135        """
    137         return six.iteritems(self._actions)
     136        return self._actions.iteritems()
    138137
    139138    def has_permission(self, request):
    140139        """
     
    189188        """
    190189        def inner(request, *args, **kwargs):
    191190            if not self.has_permission(request):
    192                 if request.path == reverse('admin:logout',
     191                if request.path == reverse('%s:logout' % self.name,
    193192                                           current_app=self.name):
    194                     index_path = reverse('admin:index', current_app=self.name)
     193                    index_path = reverse('%s:index' % self.name, current_app=self.name)
    195194                    return HttpResponseRedirect(index_path)
    196195                return self.login(request)
    197196            return view(request, *args, **kwargs)
     
    232231                wrap(self.i18n_javascript, cacheable=True),
    233232                name='jsi18n'),
    234233            url(r'^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$',
    235                 wrap(contenttype_views.shortcut),
    236                 name='view_on_site'),
     234                wrap(contenttype_views.shortcut)),
    237235            url(r'^(?P<app_label>\w+)/$',
    238236                wrap(self.app_index),
    239237                name='app_list')
    240238        )
    241239
    242240        # Add in each model's views.
    243         for model, model_admin in six.iteritems(self._registry):
     241        for model, model_admin in self._registry.iteritems():
    244242            urlpatterns += patterns('',
    245243                url(r'^%s/%s/' % (model._meta.app_label, model._meta.module_name),
    246244                    include(model_admin.urls))
     
    251249    def urls(self):
    252250        return self.get_urls(), self.app_name, self.name
    253251
    254     def password_change(self, request):
     252    def password_change(self, request, extra_context = None):
    255253        """
    256254        Handles the "change password" task -- both form display and validation.
    257255        """
    258256        from django.contrib.auth.views import password_change
    259         url = reverse('admin:password_change_done', current_app=self.name)
     257        url = reverse('%s:password_change_done' % self.name, current_app=self.name)
    260258        defaults = {
    261             'current_app': self.name,
     259            'current_app': self.name, 'extra_context': extra_context or {},
    262260            'post_change_redirect': url
    263261        }
    264262        if self.password_change_template is not None:
     
    345343                # Check whether user has any perm for this module.
    346344                # If so, add the module to the model_list.
    347345                if True in perms.values():
    348                     info = (app_label, model._meta.module_name)
     346                    info = (self.name, app_label, model._meta.module_name)
    349347                    model_dict = {
    350348                        'name': capfirst(model._meta.verbose_name_plural),
    351349                        'perms': perms,
    352350                    }
    353351                    if perms.get('change', False):
    354352                        try:
    355                             model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info, current_app=self.name)
     353                            model_dict['admin_url'] = reverse('%s:%s_%s_changelist' % info, current_app=self.name)
    356354                        except NoReverseMatch:
    357355                            pass
    358356                    if perms.get('add', False):
    359357                        try:
    360                             model_dict['add_url'] = reverse('admin:%s_%s_add' % info, current_app=self.name)
     358                            model_dict['add_url'] = reverse('%s:%s_%s_add' % info, current_app=self.name)
    361359                        except NoReverseMatch:
    362360                            pass
    363361                    if app_label in app_dict:
     
    365363                    else:
    366364                        app_dict[app_label] = {
    367365                            'name': app_label.title(),
    368                             'app_url': reverse('admin:app_list', kwargs={'app_label': app_label}, current_app=self.name),
     366                            'app_url': reverse('%s:app_list' % self.name, kwargs={'app_label': app_label}, current_app=self.name),
    369367                            'has_module_perms': has_module_perms,
    370368                            'models': [model_dict],
    371369                        }
    372370
    373371        # Sort the apps alphabetically.
    374         app_list = list(six.itervalues(app_dict))
     372        app_list = app_dict.values()
    375373        app_list.sort(key=lambda x: x['name'])
    376374
    377375        # Sort the models alphabetically within each app.
     
    399397                    # Check whether user has any perm for this module.
    400398                    # If so, add the module to the model_list.
    401399                    if True in perms.values():
    402                         info = (app_label, model._meta.module_name)
     400                        info = (self.name, app_label, model._meta.module_name)
    403401                        model_dict = {
    404402                            'name': capfirst(model._meta.verbose_name_plural),
    405403                            'perms': perms,
    406404                        }
    407405                        if perms.get('change', False):
    408406                            try:
    409                                 model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info, current_app=self.name)
     407                                model_dict['admin_url'] = reverse('%s:%s_%s_changelist' % info, current_app=self.name)
    410408                            except NoReverseMatch:
    411409                                pass
    412410                        if perms.get('add', False):
    413411                            try:
    414                                 model_dict['add_url'] = reverse('admin:%s_%s_add' % info, current_app=self.name)
     412                                model_dict['add_url'] = reverse('%s:%s_%s_add' % info, current_app=self.name)
    415413                            except NoReverseMatch:
    416414                                pass
    417415                        if app_dict:
Back to Top