summaryrefslogtreecommitdiff
path: root/coip
diff options
context:
space:
mode:
Diffstat (limited to 'coip')
-rw-r--r--coip/apps/membership/models.py5
-rw-r--r--coip/apps/tag/views.py27
-rw-r--r--coip/settings.py1
-rw-r--r--coip/urls.py2
4 files changed, 33 insertions, 2 deletions
diff --git a/coip/apps/membership/models.py b/coip/apps/membership/models.py
index 0dc06ca..324c736 100644
--- a/coip/apps/membership/models.py
+++ b/coip/apps/membership/models.py
@@ -10,6 +10,7 @@ import datetime
from pprint import pformat
import logging
from coip.apps.entity.models import Entity
+import tagging
class Membership(models.Model):
'''
@@ -74,4 +75,6 @@ def has_member(name,member_name):
if isinstance(member_name,User):
return Membership.objects.filter(name=name,user=member_name)
else:
- return Membership.objects.filter(name=name,entity=member_name) \ No newline at end of file
+ return Membership.objects.filter(name=name,entity=member_name)
+
+tagging.register(Membership) \ No newline at end of file
diff --git a/coip/apps/tag/views.py b/coip/apps/tag/views.py
index 60f00ef..a08d696 100644
--- a/coip/apps/tag/views.py
+++ b/coip/apps/tag/views.py
@@ -1 +1,26 @@
-# Create your views here.
+'''
+Created on Mar 3, 2011
+
+@author: jbn
+'''
+from django.core.exceptions import ObjectDoesNotExist
+from django.http import HttpResponse, HttpResponseNotFound, HttpResponseForbidden, HttpResponseRedirect, Http404
+from django.contrib.auth.decorators import login_required
+from coip.multiresponse import respond_to, json_response, render403
+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):
+ if type == "membership":
+ tagobj = get_object_or_404(Membership, pk=id)
+ else: return HttpResponseNotFound()
+ 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
diff --git a/coip/settings.py b/coip/settings.py
index 7ef7c13..575a6c7 100644
--- a/coip/settings.py
+++ b/coip/settings.py
@@ -83,6 +83,7 @@ INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.humanize',
'django_extensions',
+ 'tagging',
'coip.extensions',
'coip.apps.name',
'coip.apps.membership',
diff --git a/coip/urls.py b/coip/urls.py
index 4535785..2b30391 100644
--- a/coip/urls.py
+++ b/coip/urls.py
@@ -55,6 +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'),
# JSON Tree
(r'^ctree.json$', 'coip.apps.name.views.ctree'),
(r'^ctree/(?P<id>[0-9]+).json$', 'coip.apps.name.views.ctree'),