diff options
author | Leif Johansson <leifj@sunet.se> | 2011-03-01 01:25:44 +0100 |
---|---|---|
committer | Leif Johansson <leifj@sunet.se> | 2011-03-01 01:25:44 +0100 |
commit | dfdfc57b631ea681b857b2b038d27d922af605c7 (patch) | |
tree | baa19368a20612251c9ad431149e28fd5bb4da10 /coip/apps/membership/views.py | |
parent | a3c3141ad80eb1de6d67b2452a7e92b8c21e02c4 (diff) |
leave and join groups
Diffstat (limited to 'coip/apps/membership/views.py')
-rw-r--r-- | coip/apps/membership/views.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/coip/apps/membership/views.py b/coip/apps/membership/views.py index 11ce133..2f96251 100644 --- a/coip/apps/membership/views.py +++ b/coip/apps/membership/views.py @@ -4,8 +4,11 @@ Created on Jun 23, 2010 @author: leifj ''' from django.shortcuts import get_object_or_404 -from coip.apps.membership.models import Membership +from coip.apps.membership.models import Membership, add_member, remove_member from coip.multiresponse import render403, respond_to +from django.contrib.auth.models import User +from coip.apps.name.models import Name +from django.http import HttpResponseRedirect def show(request,id): membership = get_object_or_404(Membership,pk=id) @@ -17,4 +20,20 @@ def show(request,id): {'membership': membership, 'render': {'edit': name.has_permission(request.user,'w'), 'delete': name.has_permission(request.user,'d'), - 'disable': name.has_permission(request.user,'d')}})
\ No newline at end of file + 'disable': name.has_permission(request.user,'d')}}) + +def join(request,id,member=None): + name = get_object_or_404(Name,pk=id) + user = request.user + if member: + user = User.objects.get(username=member) + add_member(name, user) + return HttpResponseRedirect(name.url()) + +def leave(request,id,member=None): + name = get_object_or_404(Name,pk=id) + user = request.user + if member: + user = User.objects.get(username=member) + remove_member(name, user) + return HttpResponseRedirect(name.url())
\ No newline at end of file |