summaryrefslogtreecommitdiff
path: root/coip
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2011-03-04 19:37:32 +0100
committerLeif Johansson <leifj@sunet.se>2011-03-04 19:37:32 +0100
commit7ca77e22ed201c859ac6d3ed7a97624a9c965ea9 (patch)
tree30ae9e735561b2dc64bc98786ecdd95fac53d9f5 /coip
parent613ab889ea717c86cda5b61332027581d6eb61e8 (diff)
tagging works now
Diffstat (limited to 'coip')
-rw-r--r--coip/apps/entity/models.py2
-rw-r--r--coip/apps/tag/views.py22
-rw-r--r--coip/urls.py4
3 files changed, 17 insertions, 11 deletions
diff --git a/coip/apps/entity/models.py b/coip/apps/entity/models.py
index 7cafa24..abb8e09 100644
--- a/coip/apps/entity/models.py
+++ b/coip/apps/entity/models.py
@@ -17,7 +17,7 @@ class Entity(models.Model):
entityId = CharField(max_length=1024,unique=True,editable=False)
display_name = CharField(max_length=1024,blank=True,null=True)
- type = SmallIntegerField(blank=False,editable=False,choices=((IDP,"Identity Provider"),(SP,"Entity Provider")))
+ type = SmallIntegerField(blank=False,editable=False,choices=((IDP,"Identity Provider"),(SP,"Service Provider")))
timecreated = models.DateTimeField(auto_now_add=True)
lastupdated = models.DateTimeField(auto_now=True)
diff --git a/coip/apps/tag/views.py b/coip/apps/tag/views.py
index a08d696..6cee91d 100644
--- a/coip/apps/tag/views.py
+++ b/coip/apps/tag/views.py
@@ -11,16 +11,22 @@ import logging
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from coip.apps.membership.models import Membership
-from forms import *
from tagging.models import Tag
-def add(request, type, id):
+def modify(request, type, id):
if type == "membership":
tagobj = get_object_or_404(Membership, pk=id)
- else: return HttpResponseNotFound()
+ name = tagobj.name
+ tagtype = "roles"
+ else:
+ return HttpResponseNotFound()
+
+ if not name.has_permission(request.user,'w'):
+ return render403("You do not have permission to modify roles on members of %s" % (name))
+
if request.method == 'POST':
- if tagobj.user == request.user:
- for tag in request.POST.getlist('item[tags][]'):
- Tag.objects.add_tag(tagobj, tag)
- return HttpResponseRedirect(request.META["HTTP_REFERER"])
- return respond_to(request,{'text/html': 'apps/tag/add.html'},{'tagobj': tagobj, 'type': type, 'name': tagobj.name}) \ No newline at end of file
+ to_tags = request.POST.getlist('tags[]')
+ Tag.objects.update_tags(tagobj,' '.join(to_tags))
+ return HttpResponseRedirect(name.url())
+
+ return respond_to(request,{'text/html': 'apps/tag/modify.html'},{'tagobj': tagobj, 'tagtype': tagtype, 'type': type, 'name': tagobj.name}) \ No newline at end of file
diff --git a/coip/urls.py b/coip/urls.py
index 2b30391..6df5442 100644
--- a/coip/urls.py
+++ b/coip/urls.py
@@ -55,8 +55,8 @@ urlpatterns = patterns('',
(r'^link/(?P<id>[0-9]+)/remove$', 'coip.apps.link.views.remove'),
# Membership
(r'^membership/(?P<id>[0-9]+)$', 'coip.apps.membership.views.show'),
- # Tag
- (r'^tag/(?P<type>(\S+))/(?P<id>[0-9]+)/add$', 'coip.apps.tag.views.add'),
+ # Tags (eg roles on memberships and invitations)
+ (r'^tag/(?P<type>(\S+))/(?P<id>[0-9]+)/modify$', 'coip.apps.tag.views.modify'),
# JSON Tree
(r'^ctree.json$', 'coip.apps.name.views.ctree'),
(r'^ctree/(?P<id>[0-9]+).json$', 'coip.apps.name.views.ctree'),