summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pytask/taskapp/urls.py7
-rwxr-xr-xpytask/taskapp/views/task.py16
-rw-r--r--pytask/templates/task/view_tag.html14
3 files changed, 36 insertions, 1 deletions
diff --git a/pytask/taskapp/urls.py b/pytask/taskapp/urls.py
index 52796ac..37ecc09 100644
--- a/pytask/taskapp/urls.py
+++ b/pytask/taskapp/urls.py
@@ -20,7 +20,6 @@ urlpatterns = patterns('pytask.taskapp.views.task',
url(r'^submit/report/(?P<task_id>\d+)$', 'submit_report',
name='submit_report'),
url(r'^browse/$', 'browse_tasks', name='browse_tasks'),
- url(r'^suggest_tags/$', 'suggest_task_tags', name='suggest_task_tags'),
)
# URL patterns specific to textbook projects.
@@ -46,3 +45,9 @@ urlpatterns += patterns('pytask.taskapp.views.textbook',
'view_chapter',
name='view_chapter'),
)
+
+# URL patterns specific to tags.
+urlpatterns += patterns('pytask.taskapp.views.task',
+ url(r'^tag/suggest/$', 'suggest_task_tags', name='suggest_task_tags'),
+ url(r'^tag/view/(?P<tag_name>[\w. ]+)$', 'view_tag', name='view_tag'),
+)
diff --git a/pytask/taskapp/views/task.py b/pytask/taskapp/views/task.py
index 424325d..558edd8 100755
--- a/pytask/taskapp/views/task.py
+++ b/pytask/taskapp/views/task.py
@@ -24,6 +24,7 @@ from django.utils import simplejson as json
from django.utils.translation import ugettext
from tagging.models import Tag
+from tagging.models import TaggedItem
from pytask.helpers import exceptions
from pytask.views import show_msg
@@ -655,3 +656,18 @@ def suggest_task_tags(request):
json_response = json.dumps(response)
return http.HttpResponse(json_response)
+
+def view_tag(request, tag_name, template='task/view_tag.html'):
+ """View that displays all the tasks tagged with the given name
+ """
+
+ tag = Tag.objects.filter(name=tag_name)
+ tasks = TaggedItem.objects.get_by_model(taskapp_models.Task, tag)
+
+ context = {
+ 'tag_name': tag_name,
+ 'tasks': tasks,
+ }
+
+ return shortcuts.render_to_response(
+ template, RequestContext(request, context))
diff --git a/pytask/templates/task/view_tag.html b/pytask/templates/task/view_tag.html
new file mode 100644
index 0000000..ee49182
--- /dev/null
+++ b/pytask/templates/task/view_tag.html
@@ -0,0 +1,14 @@
+{% extends "base.html" %}
+
+
+{% load browse_helpers %}
+
+
+{% block title %}
+ {{ tag_name|capfirst }}
+{% endblock %}
+
+
+{% block content %}
+ {% as_list_tasks tasks tag_name %}
+{% endblock %}