summaryrefslogtreecommitdiff
path: root/coip/apps/membership/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'coip/apps/membership/views.py')
-rw-r--r--coip/apps/membership/views.py23
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