diff -r 1cc8d0b2eefb -r 4cc40503bf3c pytask/taskapp/views.py --- a/pytask/taskapp/views.py Sun Jan 09 00:53:51 2011 +0530 +++ b/pytask/taskapp/views.py Sun Jan 09 08:37:28 2011 +0530 @@ -63,6 +63,10 @@ task = getTask(tid) user = request.user + + if not user.is_authenticated(): + return render_to_response("/task/view.html", {"task": task}) + profile = user.get_profile() context = {"user": user, @@ -75,38 +79,39 @@ if task.status == "DL": return show_msg(user, 'This task no longer exists', '/task/browse/','browse the tasks') - comments = task.comments.filter(is_deleted=False).order_by('comment_datetime') - reviewers = task.reviewers.all() + task_viewable = True if ( task.status != "UP" ) or profile.rights != "CT"\ + else False + if not task_viewable: + return show_msg(user, "You are not authorised to view this task", "/task/browse/", "browse the tasks") - is_guest = True if not user.is_authenticated() else False + reviewers = task.reviewers.all() is_reviewer = True if user in task.reviewers.all() else False + comments = task.comments.filter(is_deleted=False).order_by('comment_datetime') - context.update({'is_guest':is_guest, - 'is_reviewer':is_reviewer, + context.update({'is_reviewer':is_reviewer, 'comments':comments, 'reviewers':reviewers, }) claimed_users = task.claimed_users.all() - + selected_users = task.selected_users.all() -# is_requested_reviewer = True if user.is_authenticated() and user.request_sent_to.filter(is_valid=True,is_replied=False,role="MT",task=task) else False -# task_viewable = True if ( task.status != "UP" ) or is_reviewer or is_requested_reviewer else False -# if not task_viewable: -# return show_msg(user, "You are not authorised to view this task", "/task/browse/", "browse the tasks") + is_creator = True if user == task.created_by else False + has_claimed = True if user in claimed_users else False -# context['is_requested_reviewer'] = is_requested_reviewer - - context['can_publish'] = True if task.status == "UP" and user == task.created_by else False - context['can_edit'] = True if task.status == "UP" and is_reviewer else False + context['is_selected'] = True if user in selected_users else False + 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_close'] = True if task.status not in ["UP", "CD", "CM"] and is_reviewer else False - context['can_delete'] = True if task.status == "UP" and user == task.created_by else False - - context['can_mod_reviewers'] = True if task.status in ["UP", "OP", "LO", "WR"] and is_reviewer else False - context['can_mod_tasks'] = True if task.status in ["UP", "OP", "LO"] and is_reviewer else False + context['can_delete'] = True if task.status == "UP" and is_creator else False context['can_assign_pynts'] = True if task.status in ["OP", "WR"] and is_reviewer else False - context['task_claimable'] = True if task.status in ["OP", "WR"] and not is_guest else False + context['task_claimable'] = True if task.status in ["OP", "WR"] else False + + context['can_comment'] = True if task.status != "UP" or\ + profile.rights!="CT" else False # if task.status == "CD": # context['closing_notification'] = Notification.objects.filter(task=task,role="CD")[0] @@ -116,20 +121,17 @@ # context['assigned_users'] = task.assigned_users.all() if request.method == 'POST': - if not is_guest: - form = TaskCommentForm(request.POST) - if form.is_valid(): - data = form.cleaned_data['data'] - new_comment = TaskComment(task=task, data=data, - uniq_key=make_key(TaskComment), - commented_by=user, comment_datetime=datetime.now()) - new_comment.save() - return redirect(task_url) - else: - context['form'] = form - return render_to_response('task/view.html', context) + form = TaskCommentForm(request.POST) + if form.is_valid(): + data = form.cleaned_data['data'] + new_comment = TaskComment(task=task, data=data, + uniq_key=make_key(TaskComment), + commented_by=user, comment_datetime=datetime.now()) + new_comment.save() + return redirect(task_url) else: - return redirect(task_url) + context['form'] = form + return render_to_response('task/view.html', context) else: form = TaskCommentForm() context['form'] = form