summaryrefslogtreecommitdiff
path: root/coip/apps/name/views.py
blob: 9e8d74cb5500940f1d7aaaea6577efcfcd236376 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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()