Mercurial > personas_backend
changeset 176:824a27b7f869
Moved the display of the 'administer' sidebar link view logic from the base template to sections.py
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Wed, 16 Apr 2008 19:00:21 -0700 |
parents | 5d57a0f3e820 |
children | 1a7d4c9cbf70 |
files | personasbackend/personas/sections.py personasbackend/personas/templates/personas/base.html |
diffstat | 2 files changed, 23 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/personasbackend/personas/sections.py Wed Apr 16 17:41:23 2008 -0700 +++ b/personasbackend/personas/sections.py Wed Apr 16 19:00:21 2008 -0700 @@ -21,13 +21,29 @@ section.parents.append( curr_parent ) curr_section = curr_parent + def filter_sidebar_entries( self, user ): + entries = [] + for section in self.sidebar_entries: + include = False + if section.needs_perm: + if ( user.is_authenticated() and + user.has_perm(section.needs_perm) ): + include = True + else: + include = True + if include: + entries.append( section ) + return entries + class Section( object ): def __init__( self, name, view, in_sidebar = False, - parent_name = None ): + parent_name = None, + needs_perm = None ): self.name = name self.view = view self.in_sidebar = in_sidebar self.parent_name = parent_name + self.needs_perm = needs_perm # This will be filled out by the parent Sections object. self.parents = [] @@ -47,6 +63,11 @@ "personasbackend.personas.views.new_view", parent_name = "Home", in_sidebar = True ), + Section( "Administer", + "django.contrib.admin.views.main.index", + parent_name = "Home", + in_sidebar = True, + needs_perm = "personas.can_publish" ), Section( "Edit", "personasbackend.personas.views.edit_view", parent_name = "Home" ), @@ -64,6 +85,6 @@ viewfunc.__name__] ) return { "site_name" : Site.objects.get_current().name, - "sidebar_entries" : sections.sidebar_entries, + "sidebar_entries" : sections.filter_sidebar_entries( request.user ), "section" : sections.views.get( viewname, None ) }
--- a/personasbackend/personas/templates/personas/base.html Wed Apr 16 17:41:23 2008 -0700 +++ b/personasbackend/personas/templates/personas/base.html Wed Apr 16 19:00:21 2008 -0700 @@ -36,10 +36,6 @@ <li><a href="{{ entry.url }}">{{ entry.name }}</a></li> {% endifequal %} {% endfor %} - {% if perms.personas.can_publish %} - <li><a href="{% url django.contrib.admin.views.main.index %}" - >Administer</a></li> - {% endif %} </ul> </div> {% if user.is_authenticated %}