diff options
-rw-r--r-- | pytask/taskapp/urls.py | 4 | ||||
-rwxr-xr-x | pytask/taskapp/views.py | 43 | ||||
-rw-r--r-- | pytask/templates/task/approved_task.html | 5 | ||||
-rw-r--r-- | pytask/templates/task/confirm_approval.html | 8 |
4 files changed, 59 insertions, 1 deletions
diff --git a/pytask/taskapp/urls.py b/pytask/taskapp/urls.py index fe752c7..f0a3b59 100644 --- a/pytask/taskapp/urls.py +++ b/pytask/taskapp/urls.py @@ -2,7 +2,7 @@ from django.conf.urls.defaults import * from pytask.taskapp.views import create_task, view_task, claim_task, \ select_user, edit_task, create_textbook, view_textbook, \ - browse_textbooks, edit_textbook + browse_textbooks, edit_textbook, approve_task, approved_task from pytask.views import under_construction @@ -13,6 +13,8 @@ urlpatterns = patterns('', (r'^view/tid=(\w+)$', view_task), (r'^claim/tid=(\w+)$', claim_task), (r'^select/tid=(\w+)$', select_user), + (r'^approve/tid=(\w+)$', approve_task), + (r'^approved/tid=(\w+)$', approved_task), (r'^browse/$', under_construction), (r'^textbook/create/$', create_textbook), diff --git a/pytask/taskapp/views.py b/pytask/taskapp/views.py index 7474796..2e9de9f 100755 --- a/pytask/taskapp/views.py +++ b/pytask/taskapp/views.py @@ -181,6 +181,49 @@ def edit_task(request, tid): return render_to_response("task/edit.html", context) @login_required +def approve_task(request, tid): + + user = request.user + profile = user.get_profile() + + task_url = "/task/view/tid=%s"%tid + task = getTask(tid) + + if profile.rights not in ["MG", "DC"] or task.status != "UP": + raise Http404 + + context = {"user": user, + "profile": profile, + "task": task, + } + + return render_to_response("task/confirm_approval.html", context) + +@login_required +def approved_task(request, tid): + + user = request.user + profile = user.get_profile() + + task_url = "/task/view/tid=%s"%tid + task = getTask(tid) + + if profile.rights not in ["MG", "DC"] or task.status != "UP": + raise Http404 + + task.approved_by = user + task.approval_datetime = datetime.now() + task.status = "OP" + task.save() + + context = {"user": user, + "profile": profile, + "task": task, + } + + return render_to_response("task/approved_task.html", context) + +@login_required def create_textbook(request): user = request.user diff --git a/pytask/templates/task/approved_task.html b/pytask/templates/task/approved_task.html new file mode 100644 index 0000000..1ec4ac3 --- /dev/null +++ b/pytask/templates/task/approved_task.html @@ -0,0 +1,5 @@ +{% extends 'base.html' %} +{% block content %} +The task <a href="/task/view/tid={{task.uniq_key}}">{{task.title}}</a> has been approved.<br /> +The task will be public. Now users can claim the task and work on it. +{% endblock %} diff --git a/pytask/templates/task/confirm_approval.html b/pytask/templates/task/confirm_approval.html new file mode 100644 index 0000000..4ffa634 --- /dev/null +++ b/pytask/templates/task/confirm_approval.html @@ -0,0 +1,8 @@ +{% extends 'base.html' %} +{% block content %} +You are about to approve the task <a href="/task/view/tid={{task.uniq_key}}">{{task.title}}</a><br /> +This action cannot be undone. Please confirm <br /> <br /> + +<a href="/task/approved/tid={{task.uniq_key}}">Yes, I approve the task</a><br /> +<a href="/task/view/tid={{task.uniq_key}}">No, take me back to the task</a> <br /> +{% endblock %} |