diff options
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 |