diff options
author | Nishanth Amuluru | 2011-01-11 00:00:48 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-11 00:00:48 +0530 |
commit | 6ad34f6a937b24bd54c0fd9e677db2dafc5742e1 (patch) | |
tree | cc96e70c9f431ca04d6b892fe15e0b794fe5bc82 | |
parent | 3d7051c9e40e2381c60214fcd7902140179ab5ce (diff) | |
download | pytask-6ad34f6a937b24bd54c0fd9e677db2dafc5742e1.tar.gz pytask-6ad34f6a937b24bd54c0fd9e677db2dafc5742e1.tar.bz2 pytask-6ad34f6a937b24bd54c0fd9e677db2dafc5742e1.zip |
view textbook works fine
-rwxr-xr-x | pytask/taskapp/models.py | 1 | ||||
-rw-r--r-- | pytask/taskapp/urls.py | 5 | ||||
-rw-r--r-- | pytask/taskapp/utils.py | 10 | ||||
-rwxr-xr-x | pytask/taskapp/views.py | 35 | ||||
-rw-r--r-- | pytask/templates/task/view_textbook.html | 57 |
5 files changed, 103 insertions, 5 deletions
diff --git a/pytask/taskapp/models.py b/pytask/taskapp/models.py index 41d03f2..10daca8 100755 --- a/pytask/taskapp/models.py +++ b/pytask/taskapp/models.py @@ -149,3 +149,4 @@ class TextBook(models.Model): approval_datetime = models.DateTimeField(blank = True, null = True) tagging.register(Task) +tagging.register(TextBook) diff --git a/pytask/taskapp/urls.py b/pytask/taskapp/urls.py index 5e97ddd..9fd1013 100644 --- a/pytask/taskapp/urls.py +++ b/pytask/taskapp/urls.py @@ -1,7 +1,7 @@ from django.conf.urls.defaults import * from pytask.taskapp.views import create_task, view_task, claim_task, \ - select_user, edit_task, create_textbook + select_user, edit_task, create_textbook, view_textbook from pytask.views import under_construction @@ -14,6 +14,7 @@ urlpatterns = patterns('', (r'^select/tid=(\w+)$', select_user), (r'^browse/$', under_construction), - (r'^textbook/create/$', create_textbook) + (r'^textbook/create/$', create_textbook), + (r'^textbook/view/tid=(\w+)/$', view_textbook), ) diff --git a/pytask/taskapp/utils.py b/pytask/taskapp/utils.py index d9905ad..264c32b 100644 --- a/pytask/taskapp/utils.py +++ b/pytask/taskapp/utils.py @@ -1,4 +1,4 @@ -from pytask.taskapp.models import Task +from pytask.taskapp.models import Task, TextBook from django.http import Http404 def getTask(tid): @@ -9,3 +9,11 @@ def getTask(tid): except Task.DoesNotExist: raise Http404 +def getTextBook(tid): + + try: + task = TextBook.objects.get(uniq_key=tid) + return task + except TextBook.DoesNotExist: + raise Http404 + diff --git a/pytask/taskapp/views.py b/pytask/taskapp/views.py index 136608a..8ac621f 100755 --- a/pytask/taskapp/views.py +++ b/pytask/taskapp/views.py @@ -16,7 +16,7 @@ from pytask.taskapp.models import Task, TaskComment, TaskClaim, TextBook from pytask.taskapp.forms import CreateTaskForm, EditTaskForm, \ TaskCommentForm, ClaimTaskForm, \ ChoiceForm, EditTaskForm, CreateTextbookForm -from pytask.taskapp.utils import getTask +from pytask.taskapp.utils import getTask, getTextBook from pytask.profile.utils import get_notification @@ -208,7 +208,7 @@ def create_textbook(request): new_textbook.chapters = form.cleaned_data['chapters'] - textbook_url = "/task/textbook/tid=%s"%new_textbook.uniq_key + textbook_url = "/task/textbook/view/tid=%s"%new_textbook.uniq_key return redirect(textbook_url) else: context.update({"form": form}) @@ -218,6 +218,37 @@ def create_textbook(request): context.update({"form": form}) return render_to_response("task/create_textbook.html", context) +def view_textbook(request, tid): + + textbook = getTextBook(tid) + textbook_url = "/task/textbook/view/tid=%s"%textbook.uniq_key + + user = request.user + if not user.is_authenticated(): + return render_to_response("task/view_textbook.html") + + profile = user.get_profile() + + context = {"user": user, + "profile": profile, + "textbook": textbook, + } + + context.update(csrf(request)) + + chapters = Task.objects.filter(status="UP") + + can_edit = True if user == textbook.created_by and textbook.status == "UP"\ + else False + + can_approve = True if profile.rights in ["MG", "DC"] and \ + textbook.status == "UP" else False + + context.update({"chapters": chapters, + "can_edit": can_edit, + "can_approve": can_approve}) + return render_to_response("task/view_textbook.html", context) + @login_required def claim_task(request, tid): diff --git a/pytask/templates/task/view_textbook.html b/pytask/templates/task/view_textbook.html new file mode 100644 index 0000000..eda89a1 --- /dev/null +++ b/pytask/templates/task/view_textbook.html @@ -0,0 +1,57 @@ +{% extends 'base.html' %} +{% block title %} + {{textbook.name}} +{% endblock %} +{% block content %} + <h3>{{ textbook.name }}</h3> + + {% if can_edit %} + <a href="/task/textbook/edit/tid={{textbook.uniq_key}}">Edit Text book</a> + {% endif %} + + {% if can_approve %} + <a href="/task/textbook/approve/tid={{textbook.uniq_key}}">Approve Text book</a> + {% endif %} + + <hr />created by <a href="/user/view/uid={{ textbook.created_by.id }}">{{ textbook.created_by.username }}</a> + on {{textbook.creation_datetime|date:"D d M Y"}} at {{textbook.creation_datetime|time:"H:i"}}<br /> + <hr /> + + {% if textbook.tags.count %} + Tags: + {% for tag in textbook.tags %} + {{tag}} + {% endfor %} + <hr /> + {% endif %} + + Chapters: <br /> + {% for chap in chapters %} + <ul> + <li><a href="/task/view/tid={{chap.uniq_key}}">{{chap.title}}</a> </li> + </ul> + {% endfor %} + + + + <hr /> + {% if comments %} + comments:<br /><br /> + {% for comment in comments %} + <a href="/user/view/uid={{comment.commented_by.id}}">{{ comment.commented_by.username }}</a> + on {{ comment.comment_datetime|date:"D d M Y"}} at {{comment.comment_datetime|time:"H:i"}} wrote:<br /> + {{ comment.data|linebreaksbr }}<br /> + {% endfor %} + {% endif %} + <hr /> + + {% if can_comment %} + Add comment:<br /> + <form action="" method="post"> + {% csrf_token %} + {{form.as_p}} + <input type="submit" value="Submit"> + </form> + {% endif %} + +{% endblock %} |