From 4c8372b09f314ba9077781a64e03df638a1ceb7b Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Thu, 8 Aug 2013 18:38:43 +0200 Subject: [PATCH] groups/home: add a link to subscribe to a group Signed-off-by: Nicolas Iooss --- xnet/groups/templates/groups/home.html | 15 +++++++++++++++ xnet/groups/urls.py | 1 + xnet/groups/views.py | 13 ++++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/xnet/groups/templates/groups/home.html b/xnet/groups/templates/groups/home.html index 5876512..df120b4 100644 --- a/xnet/groups/templates/groups/home.html +++ b/xnet/groups/templates/groups/home.html @@ -8,6 +8,21 @@ {% if group.web %}

Web : {{ group.web }}

{% endif %} + {% if user.is_authenticated %} +

Inscription : + {% if not membership %} + Non inscrit. + + M'inscrire + + {% else %} + {{ membership.state }}. + + Me désinscrire + + {% endif %} +

+ {% endif %} {% if group.description %}

{{ group.description }}

{% endif %} diff --git a/xnet/groups/urls.py b/xnet/groups/urls.py index 35acc4e..7fd8ced 100644 --- a/xnet/groups/urls.py +++ b/xnet/groups/urls.py @@ -6,5 +6,6 @@ urlpatterns = patterns( url(r'^$', 'index', name='group-list'), url(r'^(\w+)/$', 'home', name='group-home'), url(r'^(\w+)/directory/?$', 'directory', name='group-directory'), + url(r'^(\w+)/add/([a-zA-Z0-9\.]+)$', 'membership_add', name='membership-add'), url(r'^(\w+)/delete/([a-zA-Z0-9\.]+)$', 'membership_delete', name='membership-delete'), ) diff --git a/xnet/groups/views.py b/xnet/groups/views.py index 271604d..c15643a 100644 --- a/xnet/groups/views.py +++ b/xnet/groups/views.py @@ -13,9 +13,16 @@ def index(request): def home(request, slug): + group = get_object_or_404(XGroup, short=slug) + try: + membership = Membership.objects.get(xgroup=group, user=request.user) + except Membership.DoesNotExist: + membership = None + return render(request, 'groups/home.html', { - 'group': get_object_or_404(XGroup, short=slug), + 'group': group, 'sidebar': 'home', + 'membership': membership, }) @@ -32,6 +39,10 @@ def directory(request, group, membership=None): }) +def membership_add(request, group, user_to_add): + pass + + @group_required(level=Membership.LEVEL_ADMIN) def membership_delete(request, group, to_delete, membership=None): pass -- 2.1.4