summaryrefslogtreecommitdiff
path: root/coip/apps/name/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'coip/apps/name/views.py')
-rw-r--r--coip/apps/name/views.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/coip/apps/name/views.py b/coip/apps/name/views.py
index e69de29..9e8d74c 100644
--- a/coip/apps/name/views.py
+++ b/coip/apps/name/views.py
@@ -0,0 +1,37 @@
+'''
+Created on Jul 6, 2010
+
+@author: leifj
+'''
+from coip.apps.name.models import Name, lookup
+from django.core.exceptions import ObjectDoesNotExist
+from django.http import HttpResponseNotFound, HttpResponseForbidden
+from django.contrib.auth.decorators import login_required
+from coip.multiresponse import respond_to
+from coip.apps.auth.authz import has_permission
+
+def show(request,name):
+ if not name:
+ return HttpResponseNotFound()
+
+ if has_permission(request.user,name,'r'):
+ memberships = []
+ if has_permission(request.user,name,'l'):
+ memberships = name.memberships
+ return respond_to(request, {'text/html': 'apps/name/name.html'}, {'name': name, 'memberships': memberships})
+ else:
+ return HttpResponseForbidden()
+
+@login_required
+def show_by_name(request,n):
+ try:
+ return show(request,lookup(n))
+ except ObjectDoesNotExist:
+ return HttpResponseNotFound()
+
+@login_required
+def show_by_id(request,id):
+ try:
+ return show(request,Name.objects.get(id=id))
+ except ObjectDoesNotExist:
+ return HttpResponseNotFound() \ No newline at end of file