diff options
Diffstat (limited to 'coip/apps/name')
-rw-r--r-- | coip/apps/name/models.py | 2 | ||||
-rw-r--r-- | coip/apps/name/views.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/coip/apps/name/models.py b/coip/apps/name/models.py index 0450e28..142cd5e 100644 --- a/coip/apps/name/models.py +++ b/coip/apps/name/models.py @@ -89,6 +89,8 @@ class Name(models.Model): def url(self): return "%s/name/%s" % (PREFIX_URL,self.display_str_url()) + def summary(self): + return {'name': self.display, 'url': self.url(), 'short': self.short} def remove(self,recursive=False): if recursive: diff --git a/coip/apps/name/views.py b/coip/apps/name/views.py index 21c658e..df669e7 100644 --- a/coip/apps/name/views.py +++ b/coip/apps/name/views.py @@ -14,6 +14,7 @@ import logging from coip.apps.name.forms import NameEditForm, NewNameForm, NameDeleteForm,\ PermissionForm from django.shortcuts import get_object_or_404 +from django.contrib.auth.models import User @login_required def delete(request,id): @@ -151,13 +152,17 @@ def show(request,name): invitations = name.invitations return respond_to(request, {'text/html': 'apps/name/name.html', - 'application/json': json_response({'name': name.display, 'url': name.url(), 'short': name.short}) }, + 'application/json': json_response(name.summary()) }, {'name': name, 'memberships':memberships, 'invitations':invitations}) else: return render403() +def user_groups(request,username): + user = get_object_or_404(User,username=username) + return json_response([link.src.summary() for link in NameLink.objects.filter(dst__memberships__user=user,type=NameLink.access_control,data__contains='i').all()]) + @login_required def show_by_name(request,name=None): if not name: |