diff options
author | Nishanth Amuluru | 2011-01-09 19:35:31 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-09 19:35:31 +0530 |
commit | 575940afec606479cb6558bdf8400de3a2b324f2 (patch) | |
tree | 07cb564d0dd969696e6dadeb34e7fde51293af5e | |
parent | a77c1f6bffee651eb6f7a65ce619601d46152773 (diff) | |
download | pytask-575940afec606479cb6558bdf8400de3a2b324f2.tar.gz pytask-575940afec606479cb6558bdf8400de3a2b324f2.tar.bz2 pytask-575940afec606479cb6558bdf8400de3a2b324f2.zip |
edit task works now
-rw-r--r-- | pytask/taskapp/urls.py | 9 | ||||
-rwxr-xr-x | pytask/taskapp/views.py | 44 | ||||
-rw-r--r-- | pytask/templates/task/edit.html | 8 | ||||
-rw-r--r-- | pytask/templates/task/view.html | 2 |
4 files changed, 56 insertions, 7 deletions
diff --git a/pytask/taskapp/urls.py b/pytask/taskapp/urls.py index 987da64..8b47742 100644 --- a/pytask/taskapp/urls.py +++ b/pytask/taskapp/urls.py @@ -1,13 +1,14 @@ from django.conf.urls.defaults import * from pytask.taskapp.views import create_task, view_task, claim_task, \ - select_user + select_user, edit_task urlpatterns = patterns('', (r'^create/$', create_task), - (r'^view/tid=(\w+)', view_task), - (r'^claim/tid=(\w+)', claim_task), - (r'^select/tid=(\w+)', select_user), + (r'^edit/tid=(\w+)$', edit_task), + (r'^view/tid=(\w+)$', view_task), + (r'^claim/tid=(\w+)$', claim_task), + (r'^select/tid=(\w+)$', select_user), ) diff --git a/pytask/taskapp/views.py b/pytask/taskapp/views.py index 1c6e41a..c90f1b9 100755 --- a/pytask/taskapp/views.py +++ b/pytask/taskapp/views.py @@ -15,7 +15,7 @@ from pytask.views import show_msg from pytask.taskapp.models import Task, TaskComment, TaskClaim from pytask.taskapp.forms import CreateTaskForm, EditTaskForm, \ TaskCommentForm, ClaimTaskForm, \ - ChoiceForm + ChoiceForm, EditTaskForm from pytask.taskapp.utils import getTask from pytask.profile.utils import get_notification @@ -108,7 +108,7 @@ def view_task(request, tid): context['can_approve'] = True if task.status == "UP" and\ profile.rights in ["MG", "DC"]\ else False - context['can_edit'] = True if is_creator else False + context['can_edit'] = True if is_creator and task.status == "UP" else False context['can_close'] = True if task.status not in ["UP", "CD", "CM"] and is_reviewer else False context['can_delete'] = True if task.status == "UP" and is_creator else False @@ -143,6 +143,46 @@ def view_task(request, tid): return render_to_response('task/view.html', context) @login_required +def edit_task(request, tid): + """ only creator gets to edit the task and that too only before it gets + approved. + """ + + user = request.user + profile = user.get_profile() + + task_url = "/task/view/tid=%s"%tid + task = getTask(tid) + + is_creator = True if user == task.created_by else False + can_edit = True if task.status == "UP" and is_creator else False + if not can_edit: + raise Http404 + + context = {"user": user, + "profile": profile, + "task": task, + } + + context.update(csrf(request)) + + if request.method == "POST": + form = EditTaskForm(request.POST, instance=task) + if form.is_valid(): + form.save() + return redirect(task_url) + else: + context.update({"form": form}) + return render_to_response("task/edit.html", context) + else: + form = EditTaskForm(instance=task) + context.update({"form": form}) + return render_to_response("task/edit.html", context) + + + + +@login_required def claim_task(request, tid): task_url = "/task/view/tid=%s"%tid diff --git a/pytask/templates/task/edit.html b/pytask/templates/task/edit.html new file mode 100644 index 0000000..6c0c6df --- /dev/null +++ b/pytask/templates/task/edit.html @@ -0,0 +1,8 @@ +{% extends 'base.html' %} +{% block content %} + <form action="" method="post"> + {% csrf_token %} + {{form.as_p}} + <input type="submit" value="Update"> + </form> +{% endblock %} diff --git a/pytask/templates/task/view.html b/pytask/templates/task/view.html index 551594d..fd07b12 100644 --- a/pytask/templates/task/view.html +++ b/pytask/templates/task/view.html @@ -106,7 +106,7 @@ {% if comments %} comments:<br /><br /> {% for comment in comments %} - <a href="/user/view/uid={{comment.commented_by.uniq_key}}">{{ comment.commented_by.username }}</a> + <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 %} |