Django

Code

Changeset 7638

Show
Ignore:
Timestamp:
06/15/08 13:21:11 (5 months ago)
Author:
simon
Message:

AdminSite?.root() now figures out the base URL of the admin site and stashes it as self.root_path. This is made available to admin templates, avoiding the need to use relative URLs for links to higher level admin pages. One consequence of this change is that you can now reliably over-ride the userlinks block in a custom base_site.html template.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/contrib/admin/options.py

    r7630 r7638  
    480480            'save_as': self.save_as, 
    481481            'save_on_top': self.save_on_top, 
     482            'root_path': self.admin_site.root_path, 
    482483        }) 
    483484        return render_to_response(self.change_form_template or [ 
     
    538539            'media': mark_safe(media), 
    539540            'inline_admin_formsets': inline_admin_formsets, 
     541            'root_path': self.admin_site.root_path, 
    540542        } 
    541543        context.update(extra_context or {}) 
     
    614616            'media': mark_safe(media), 
    615617            'inline_admin_formsets': inline_admin_formsets, 
     618            'root_path': self.admin_site.root_path, 
    616619        } 
    617620        context.update(extra_context or {}) 
     
    642645            'is_popup': cl.is_popup, 
    643646            'cl': cl, 
     647            'has_add_permission': self.has_add_permission(request), 
     648            'root_path': self.admin_site.root_path, 
    644649        } 
    645         context.update({'has_add_permission': self.has_add_permission(request)}), 
    646650        context.update(extra_context or {}) 
    647651        return render_to_response(self.change_list_template or [ 
     
    696700            "perms_lacking": perms_needed, 
    697701            "opts": opts, 
     702            "root_path": self.admin_site.root_path, 
    698703        } 
    699704        context.update(extra_context or {}) 
     
    721726            'module_name': capfirst(opts.verbose_name_plural), 
    722727            'object': obj, 
     728            'root_path': self.admin_site.root_path, 
    723729        } 
    724730        context.update(extra_context or {}) 
  • django/branches/newforms-admin/django/contrib/admin/sites.py

    r7631 r7638  
    9595 
    9696    def root(self, request, url): 
    97         """ 
     97        """  
    9898        Handles main URL routing for the admin app. 
    9999 
    100100        `url` is the remainder of the URL -- e.g. 'comments/comment/'. 
    101         """         
     101        """ 
     102        # Figure out the admin base URL path and stash it for later use 
     103        self.root_path = re.sub(re.escape(url) + '$', '', request.path) 
     104         
    102105        url = url.rstrip('/') # Trim trailing slash, if it exists. 
    103106 
     
    296299            'title': _('Site administration'), 
    297300            'app_list': app_list, 
     301            'root_path': self.root_path, 
    298302        } 
    299303        context.update(extra_context or {}) 
     
    317321            'app_path': request.path, 
    318322            'post_data': post_data, 
    319             'error_message': error_message 
     323            'error_message': error_message, 
     324            'root_path': self.root_path, 
    320325        } 
    321326        context.update(extra_context or {}) 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/auth/user/change_password.html

    r7351 r7638  
    66{% block stylesheet %}{% admin_media_prefix %}css/forms.css{% endblock %} 
    77{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} 
    8 {% block userlinks %}<a href="../../../../doc/">{% trans 'Documentation' %}</a> / <a href="../../../../password_change/">{% trans 'Change password' %}</a> / <a href="../../../../logout/">{% trans 'Log out' %}</a>{% endblock %} 
    98{% block breadcrumbs %}{% if not is_popup %} 
    109<div class="breadcrumbs"> 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/base.html

    r7351 r7638  
    2323        </div> 
    2424        {% if user.is_authenticated and user.is_staff %} 
    25         <div id="user-tools">{% trans 'Welcome,' %} <strong>{% if user.first_name %}{{ user.first_name|escape }}{% else %}{{ user.username }}{% endif %}</strong>. {% block userlinks %}<a href="doc/">{% trans 'Documentation' %}</a> / <a href="password_change/">{% trans 'Change password' %}</a> / <a href="logout/">{% trans 'Log out' %}</a>{% endblock %}</div> 
     25        <div id="user-tools">{% trans 'Welcome,' %} <strong>{% if user.first_name %}{{ user.first_name|escape }}{% else %}{{ user.username }}{% endif %}</strong>. {% block userlinks %}<a href="{{ root_path }}doc/">{% trans 'Documentation' %}</a> / <a href="{{ root_path }}password_change/">{% trans 'Change password' %}</a> / <a href="{{ root_path }}logout/">{% trans 'Log out' %}</a>{% endblock %}</div> 
    2626        {% endif %} 
    2727        {% block nav-global %}{% endblock %} 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/change_form.html

    r7607 r7638  
    1212 
    1313{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} 
    14  
    15 {% block userlinks %}<a href="../../../doc/">{% trans 'Documentation' %}</a> / <a href="../../../password_change/">{% trans 'Change password' %}</a> / <a href="../../../logout/">{% trans 'Log out' %}</a>{% endblock %} 
    1614 
    1715{% block breadcrumbs %}{% if not is_popup %} 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/change_list.html

    r7351 r7638  
    55 
    66{% block bodyclass %}change-list{% endblock %} 
    7  
    8 {% block userlinks %}<a href="../../doc/">{% trans 'Documentation' %}</a> / <a href="../../password_change/">{% trans 'Change password' %}</a> / <a href="../../logout/">{% trans 'Log out' %}</a>{% endblock %} 
    97 
    108{% if not is_popup %}{% block breadcrumbs %}<div class="breadcrumbs"><a href="../../">{% trans "Home" %}</a> &rsaquo; {{ cl.opts.verbose_name_plural|capfirst|escape }}</div>{% endblock %}{% endif %} 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/delete_confirmation.html

    r7351 r7638  
    11{% extends "admin/base_site.html" %} 
    22{% load i18n %} 
    3  
    4 {% block userlinks %}<a href="../../../../doc/">{% trans 'Documentation' %}</a> / <a href="../../../../password_change/">{% trans 'Change password' %}</a> / <a href="../../../../logout/">{% trans 'Log out' %}</a>{% endblock %} 
    53 
    64{% block breadcrumbs %} 
  • django/branches/newforms-admin/django/contrib/admin/templates/admin/object_history.html

    r7351 r7638  
    11{% extends "admin/base_site.html" %} 
    22{% load i18n %} 
    3  
    4 {% block userlinks %}<a href="../../../../doc/">{% trans 'Documentation' %}</a> / <a href="../../../../password_change/">{% trans 'Change password' %}</a> / <a href="../../../../logout/">{% trans 'Log out' %}</a>{% endblock %} 
    53 
    64{% block breadcrumbs %}