summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Berggren <jbn@nordu.net>2011-03-03 17:04:50 +0100
committerJohan Berggren <jbn@nordu.net>2011-03-03 17:04:50 +0100
commiteee6cedbf9c1b3189d36b238613a47b0631a0666 (patch)
tree94848a26b0ca4b54b62b95bf921288929b18f102
parent3c5c4f11d0c5792a38d2ebee9944bec9cee77978 (diff)
Tag on membership almost implemented
-rw-r--r--coip/apps/tag/views.py20
-rw-r--r--coip/settings.py1
-rw-r--r--coip/urls.py2
-rw-r--r--templates/apps/name/name.html1
-rw-r--r--templates/apps/tag/add.html7
5 files changed, 30 insertions, 1 deletions
diff --git a/coip/apps/tag/views.py b/coip/apps/tag/views.py
index 60f00ef..bcccae3 100644
--- a/coip/apps/tag/views.py
+++ b/coip/apps/tag/views.py
@@ -1 +1,19 @@
-# Create your views here.
+'''
+Created on Mar 3, 2011
+
+@author: jbn
+'''
+from django.core.exceptions import ObjectDoesNotExist
+from django.http import 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
+
+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
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 ffabf11..4391f38 100644
--- a/coip/urls.py
+++ b/coip/urls.py
@@ -51,6 +51,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'),
diff --git a/templates/apps/name/name.html b/templates/apps/name/name.html
index 2b773bf..f1442be 100644
--- a/templates/apps/name/name.html
+++ b/templates/apps/name/name.html
@@ -63,6 +63,7 @@
<ul>
{% if user == m.user %}
<li class="button"><a href="/name/{{name.id}}/leave/{{m.user.username}}">Leave Group</a></li>
+ <li class="button"><a href="/tag/membership/{{m.id}}/add">Tag</a></li>
{% else %}
{% if render.kick %}
<li class="button"><a href="/name/{{name.id}}/leave/{{m.user.username}}">Remove from Group</a></li>
diff --git a/templates/apps/tag/add.html b/templates/apps/tag/add.html
new file mode 100644
index 0000000..378ebee
--- /dev/null
+++ b/templates/apps/tag/add.html
@@ -0,0 +1,7 @@
+{% extends "tree.html" %}
+{% block content %}
+ <h1>Add tag to {{ type|escape }}</h1>
+ <div class="ui-widget ui-widget-content ui-helper-reset ui-corner-all infopanel">
+{{ tagobj }}
+</div>
+{% endblock %} \ No newline at end of file