Mercurial > hg > savane-forge
changeset 182:b2d023049d85
Simplify {% svpagemenu %} call
author | Sylvain Beucler <beuc@beuc.net> |
---|---|
date | Sat, 24 Jul 2010 17:49:08 +0200 |
parents | cbee3f7ef687 |
children | 845272b1916d |
files | savane/svmain/templatetags/svpagemenu.py savane/svmain/urls.py templates/svmain/group_admin.html templates/svmain/group_detail.html |
diffstat | 4 files changed, 31 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/savane/svmain/templatetags/svpagemenu.py +++ b/savane/svmain/templatetags/svpagemenu.py @@ -18,21 +18,26 @@ from django import template from django.core.urlresolvers import reverse +import savane.svmain.models as svmain_models register = template.Library() @register.inclusion_tag('svmain/svpagemenu.html', takes_context=True) -def svpagemenu(context): - if context['menu_name'] == 'group': +def svpagemenu(context, menu_name): + if menu_name == 'group': entries = [] entry_home = { 'text' : 'Home', - 'href' : reverse('savane.svmain.group_detail', args=[context['group']]), + 'href' : reverse('savane.svmain.group_detail', args=[context['group'].name]), 'title': "Project Main Page at %s" % 'this website'} entry_home['children'] = [] entry_home['children'].append({'text' : 1.1, 'href' : 1.1, 'title': 1.1 }) if (context['user'].groups.filter(name=context['group']).count()): entry_home['children'].append({'separator' : True }) entry_home['children'].append({'text' : "I'm a member", 'href' : 1.2, 'title': 1.2 }) + if (svmain_models.Membership.objects.filter(user=context['user'], group=context['group'], admin_flags='A').count()): + entry_home['children'].append({'separator' : True }) + entry_home['children'].append({'text' : "I'm an admin", + 'href' : reverse('savane.svmain.group_admin', args=[context['group'].name]) }) entry_test = { 'text' : 2, 'href' : 2, 'title': 2, 'children': @@ -43,12 +48,12 @@ entries.append(entry_home) entries.append(entry_test) return { 'entries' : entries, - 'menu_name': context['menu_name'], + 'menu_name': menu_name, } - elif context['menu_name'] == 'my': + elif menu_name == 'my': return { 'entries': [ ], - 'menu_name': context['menu_name'], + 'menu_name': menu_name, }
--- a/savane/svmain/urls.py +++ b/savane/svmain/urls.py @@ -76,12 +76,15 @@ { 'queryset' : auth_models.Group.objects.all(), 'slug_field' : 'name', 'extra_context' : { 'title' : 'Project summary' }, - 'template_name' : 'svmain/group_detail.html', }, + 'template_name' : 'svmain/group_detail.html', + 'template_object_name' : 'group', }, name='savane.svmain.group_detail'), url(r'^pr/(?P<slug>[-\w]+)/$', views.group_redir), url(r'^projects/(?P<slug>[-\w]+)/$', views.group_redir), url(r'^p/(?P<slug>[-\w]+)/join/$', views.group_join), - url(r'^p/(?P<slug>[-\w]+)/admin/$', views.group_admin), + url(r'^p/(?P<slug>[-\w]+)/admin/$', views.group_admin, + { 'extra_context' : { 'title' : 'Project administration' }, }, + name='savane.svmain.group_admin'), url(r'^license/$', 'django.views.generic.list_detail.object_list', { 'queryset' : svmain_models.License.objects.all(),
--- a/templates/svmain/group_admin.html +++ b/templates/svmain/group_admin.html @@ -3,18 +3,18 @@ {% load svpagemenu %} {% block pagemenu %} - {% with "group" as menu_name %} - {% svpagemenu %} - {% endwith %} + {% svpagemenu "group" %} {% endblock %} {% block content %} <p> -Group: {{group.name}}<br /> +Project: {{group.name}}<br /> </p> -<p>Manage members</p> +<ul> +<li><a href="members/">Manage members</a></li> +</ul> {% endblock %}
--- a/templates/svmain/group_detail.html +++ b/templates/svmain/group_detail.html @@ -1,19 +1,24 @@ {% extends "base.html" %} {% load i18n %} +{% load svpagemenu %} + +{% block pagemenu %} + {% svpagemenu "group" %} +{% endblock %} {% block content %} <p> -Name: {{object.name}}<br /> -License: <a href="{{object.svgroupinfo.license.get_absolute_url}}">{{object.svgroupinfo.license.name}}</a><br /> -Development status: {{object.svgroupinfo.devel_status}}<br /> +Name: {{group.name}}<br /> +License: <a href="{{group.svgroupinfo.license.get_absolute_url}}">{{group.svgroupinfo.license.name}}</a><br /> +Development status: {{group.svgroupinfo.devel_status}}<br /> </p> <p>Members:</p> -{% if object.user_set.all %} +{% if group.user_set.all %} <ul> - {% for user in object.user_set.all %} + {% for user in group.user_set.all %} <li><a href="{% url savane.svmain.user_detail user.username %}">{{ user.username }}</a></li> {% endfor %} </ul>