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