Django

Code

Changeset 9276

Show
Ignore:
Timestamp:
10/24/08 14:14:24 (3 months ago)
Author:
kmtracey
Message:

Fixed #7179 -- Changed breadcrumbs on the add page so that a link to the change view is not included when the user doesn't have permission for that view. Also added tests to ensure the link is not there when it shouldn't be, and there when it should be. Thanks for the report & patch alenribic.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/admin/templates/admin/change_form.html

    r8474 r9276  
    1717     <a href="../../../">{% trans "Home" %}</a> &rsaquo; 
    1818     <a href="../../">{{ app_label|capfirst|escape }}</a> &rsaquo;  
    19      <a href="../">{{ opts.verbose_name_plural|capfirst }}</a> &rsaquo; 
     19     {% if has_change_permission %}<a href="../">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} &rsaquo;  
    2020     {% if add %}{% trans "Add" %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} 
    2121</div> 
  • django/trunk/tests/regressiontests/admin_views/tests.py

    r9245 r9276  
    328328        self.client.get('/test_admin/admin/') 
    329329        self.client.post('/test_admin/admin/', self.adduser_login) 
     330        addpage = self.client.get('/test_admin/admin/admin_views/article/add/') 
     331        self.failUnlessEqual(addpage.status_code, 200) 
     332        change_list_link = '<a href="../">Articles</a> &rsaquo;' 
     333        self.failIf(change_list_link in addpage.content, 
     334                    'User restricted to add permission is given link to change list view in breadcrumbs.') 
    330335        post = self.client.post('/test_admin/admin/admin_views/article/add/', add_dict) 
    331336        self.assertRedirects(post, '/test_admin/admin/') 
     
    336341        self.client.get('/test_admin/admin/') 
    337342        self.client.post('/test_admin/admin/', self.super_login) 
     343        addpage = self.client.get('/test_admin/admin/admin_views/article/add/') 
     344        self.failUnlessEqual(addpage.status_code, 200) 
     345        self.failIf(change_list_link not in addpage.content, 
     346                    'Unrestricted user is not given link to change list view in breadcrumbs.') 
    338347        post = self.client.post('/test_admin/admin/admin_views/article/add/', add_dict) 
    339348        self.assertRedirects(post, '/test_admin/admin/admin_views/article/')