From 8e00889fa34467dfecad1cf52acbb67de154a6cf Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Wed, 7 Jul 2010 15:49:09 +0200 Subject: basic group views --- coip/apps/name/views.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'coip/apps/name/views.py') 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 -- cgit v1.1