From 6613bbae1b7d3262fec64ae1c8da7d772c2e2b66 Mon Sep 17 00:00:00 2001 From: Johan Berggren Date: Fri, 4 Mar 2011 14:22:57 +0100 Subject: Added tagging on Memberships --- coip/apps/membership/models.py | 5 ++++- coip/apps/tag/views.py | 13 ++++++++++--- templates/apps/name/name.html | 5 ++++- templates/apps/tag/add.html | 33 ++++++++++++++++++++++++++++++--- templates/base.html | 2 ++ 5 files changed, 50 insertions(+), 8 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 bcccae3..a08d696 100644 --- a/coip/apps/tag/views.py +++ b/coip/apps/tag/views.py @@ -4,16 +4,23 @@ Created on Mar 3, 2011 @author: jbn ''' from django.core.exceptions import ObjectDoesNotExist -from django.http import HttpResponseNotFound, HttpResponseForbidden, HttpResponseRedirect, Http404 +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() - return respond_to(request,{'text/html': 'apps/tag/add.html'},{'tagobj': tagobj, 'type': type}) \ No newline at end of file + 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/templates/apps/name/name.html b/templates/apps/name/name.html index f1442be..2489004 100644 --- a/templates/apps/name/name.html +++ b/templates/apps/name/name.html @@ -1,6 +1,7 @@ {% extends "tree.html" %} {% load datehumanize %} {% load userdisplay %} +{% load tagging_tags %} {% block widgets %} $("#memberships").accordion({ header: 'h3', @@ -62,8 +63,10 @@
+ + {% endblock %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 4f93552..fddbc95 100644 --- a/templates/base.html +++ b/templates/base.html @@ -6,6 +6,7 @@ + @@ -24,6 +25,7 @@ + {% block title %}{% endblock %}