# HG changeset patch # User Sylvain Beucler # Date 1279986548 -7200 # Node ID b2d023049d85a949fb73e336eb6a14b8523b9f1c # Parent cbee3f7ef687706113d2756f712721f923adb702 Simplify {% svpagemenu %} call diff --git a/savane/svmain/templatetags/svpagemenu.py b/savane/svmain/templatetags/svpagemenu.py --- 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, } diff --git a/savane/svmain/urls.py b/savane/svmain/urls.py --- 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[-\w]+)/$', views.group_redir), url(r'^projects/(?P[-\w]+)/$', views.group_redir), url(r'^p/(?P[-\w]+)/join/$', views.group_join), - url(r'^p/(?P[-\w]+)/admin/$', views.group_admin), + url(r'^p/(?P[-\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(), diff --git a/templates/svmain/group_admin.html b/templates/svmain/group_admin.html --- 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 %}

-Group: {{group.name}}
+Project: {{group.name}}

-

Manage members

+ {% endblock %} diff --git a/templates/svmain/group_detail.html b/templates/svmain/group_detail.html --- 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 %}

-Name: {{object.name}}
-License: {{object.svgroupinfo.license.name}}
-Development status: {{object.svgroupinfo.devel_status}}
+Name: {{group.name}}
+License: {{group.svgroupinfo.license.name}}
+Development status: {{group.svgroupinfo.devel_status}}

Members:

-{% if object.user_set.all %} +{% if group.user_set.all %}
    - {% for user in object.user_set.all %} + {% for user in group.user_set.all %}
  • {{ user.username }}
  • {% endfor %}