diff options
Diffstat (limited to 'coip')
-rw-r--r-- | coip/apps/membership/models.py | 5 | ||||
-rw-r--r-- | coip/apps/tag/views.py | 27 | ||||
-rw-r--r-- | coip/settings.py | 1 | ||||
-rw-r--r-- | coip/urls.py | 2 |
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'), |