73 context.update(csrf(request)) |
77 context.update(csrf(request)) |
74 |
78 |
75 if task.status == "DL": |
79 if task.status == "DL": |
76 return show_msg(user, 'This task no longer exists', '/task/browse/','browse the tasks') |
80 return show_msg(user, 'This task no longer exists', '/task/browse/','browse the tasks') |
77 |
81 |
|
82 task_viewable = True if ( task.status != "UP" ) or profile.rights != "CT"\ |
|
83 else False |
|
84 if not task_viewable: |
|
85 return show_msg(user, "You are not authorised to view this task", "/task/browse/", "browse the tasks") |
|
86 |
|
87 reviewers = task.reviewers.all() |
|
88 is_reviewer = True if user in task.reviewers.all() else False |
78 comments = task.comments.filter(is_deleted=False).order_by('comment_datetime') |
89 comments = task.comments.filter(is_deleted=False).order_by('comment_datetime') |
79 reviewers = task.reviewers.all() |
|
80 |
90 |
81 is_guest = True if not user.is_authenticated() else False |
91 context.update({'is_reviewer':is_reviewer, |
82 is_reviewer = True if user in task.reviewers.all() else False |
|
83 |
|
84 context.update({'is_guest':is_guest, |
|
85 'is_reviewer':is_reviewer, |
|
86 'comments':comments, |
92 'comments':comments, |
87 'reviewers':reviewers, |
93 'reviewers':reviewers, |
88 }) |
94 }) |
89 |
95 |
90 claimed_users = task.claimed_users.all() |
96 claimed_users = task.claimed_users.all() |
|
97 selected_users = task.selected_users.all() |
91 |
98 |
|
99 is_creator = True if user == task.created_by else False |
|
100 has_claimed = True if user in claimed_users else False |
92 |
101 |
93 # 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 |
102 context['is_selected'] = True if user in selected_users else False |
94 # task_viewable = True if ( task.status != "UP" ) or is_reviewer or is_requested_reviewer else False |
103 context['can_approve'] = True if task.status == "UP" and\ |
95 # if not task_viewable: |
104 profile.rights in ["MG", "DC"]\ |
96 # return show_msg(user, "You are not authorised to view this task", "/task/browse/", "browse the tasks") |
105 else False |
97 |
106 context['can_edit'] = True if is_creator else False |
98 # context['is_requested_reviewer'] = is_requested_reviewer |
|
99 |
|
100 context['can_publish'] = True if task.status == "UP" and user == task.created_by else False |
|
101 context['can_edit'] = True if task.status == "UP" and is_reviewer else False |
|
102 context['can_close'] = True if task.status not in ["UP", "CD", "CM"] and is_reviewer else False |
107 context['can_close'] = True if task.status not in ["UP", "CD", "CM"] and is_reviewer else False |
103 context['can_delete'] = True if task.status == "UP" and user == task.created_by else False |
108 context['can_delete'] = True if task.status == "UP" and is_creator else False |
104 |
|
105 context['can_mod_reviewers'] = True if task.status in ["UP", "OP", "LO", "WR"] and is_reviewer else False |
|
106 context['can_mod_tasks'] = True if task.status in ["UP", "OP", "LO"] and is_reviewer else False |
|
107 |
109 |
108 context['can_assign_pynts'] = True if task.status in ["OP", "WR"] and is_reviewer else False |
110 context['can_assign_pynts'] = True if task.status in ["OP", "WR"] and is_reviewer else False |
109 context['task_claimable'] = True if task.status in ["OP", "WR"] and not is_guest else False |
111 context['task_claimable'] = True if task.status in ["OP", "WR"] else False |
|
112 |
|
113 context['can_comment'] = True if task.status != "UP" or\ |
|
114 profile.rights!="CT" else False |
110 |
115 |
111 # if task.status == "CD": |
116 # if task.status == "CD": |
112 # context['closing_notification'] = Notification.objects.filter(task=task,role="CD")[0] |
117 # context['closing_notification'] = Notification.objects.filter(task=task,role="CD")[0] |
113 # elif task.status == "CM": |
118 # elif task.status == "CM": |
114 # context['completed_notification'] = Notifications.objects.filter(task=task,role="CM")[0] |
119 # context['completed_notification'] = Notifications.objects.filter(task=task,role="CM")[0] |
115 # elif task.status == "WR": |
120 # elif task.status == "WR": |
116 # context['assigned_users'] = task.assigned_users.all() |
121 # context['assigned_users'] = task.assigned_users.all() |
117 |
122 |
118 if request.method == 'POST': |
123 if request.method == 'POST': |
119 if not is_guest: |
124 form = TaskCommentForm(request.POST) |
120 form = TaskCommentForm(request.POST) |
125 if form.is_valid(): |
121 if form.is_valid(): |
126 data = form.cleaned_data['data'] |
122 data = form.cleaned_data['data'] |
127 new_comment = TaskComment(task=task, data=data, |
123 new_comment = TaskComment(task=task, data=data, |
128 uniq_key=make_key(TaskComment), |
124 uniq_key=make_key(TaskComment), |
129 commented_by=user, comment_datetime=datetime.now()) |
125 commented_by=user, comment_datetime=datetime.now()) |
130 new_comment.save() |
126 new_comment.save() |
131 return redirect(task_url) |
127 return redirect(task_url) |
|
128 else: |
|
129 context['form'] = form |
|
130 return render_to_response('task/view.html', context) |
|
131 else: |
132 else: |
132 return redirect(task_url) |
133 context['form'] = form |
|
134 return render_to_response('task/view.html', context) |
133 else: |
135 else: |
134 form = TaskCommentForm() |
136 form = TaskCommentForm() |
135 context['form'] = form |
137 context['form'] = form |
136 return render_to_response('task/view.html', context) |
138 return render_to_response('task/view.html', context) |
137 |
139 |