diff options
author | nishanth | 2010-02-04 23:10:30 +0530 |
---|---|---|
committer | nishanth | 2010-02-04 23:10:30 +0530 |
commit | fcd65993031a3c9ac9b9d1d42f26fed3f21a3f70 (patch) | |
tree | fb4b455382c00dbc68becb49bd12f2c017893b5b | |
parent | 9dbedfce8120701cddfae38135c0ddd9dc57835c (diff) | |
download | pytask-fcd65993031a3c9ac9b9d1d42f26fed3f21a3f70.tar.gz pytask-fcd65993031a3c9ac9b9d1d42f26fed3f21a3f70.tar.bz2 pytask-fcd65993031a3c9ac9b9d1d42f26fed3f21a3f70.zip |
addded link to view claims in 'view task' page .
-rw-r--r-- | taskapp/admin.py | 3 | ||||
-rw-r--r-- | taskapp/forms/task.py | 4 | ||||
-rw-r--r-- | taskapp/models.py | 2 | ||||
-rw-r--r-- | taskapp/views/task.py | 18 | ||||
-rw-r--r-- | templates/task/view.html | 6 | ||||
-rw-r--r-- | urls.py | 3 |
6 files changed, 29 insertions, 7 deletions
diff --git a/taskapp/admin.py b/taskapp/admin.py index 709b1df..62dc766 100644 --- a/taskapp/admin.py +++ b/taskapp/admin.py @@ -1,8 +1,9 @@ from django.contrib import admin -from pytask.taskapp.models import Profile, Task, Credit, Comment +from pytask.taskapp.models import Profile, Task, Credit, Comment, Claim admin.site.register(Profile) admin.site.register(Task) admin.site.register(Comment) admin.site.register(Credit) +admin.site.register(Claim) diff --git a/taskapp/forms/task.py b/taskapp/forms/task.py index 852109a..b4303e3 100644 --- a/taskapp/forms/task.py +++ b/taskapp/forms/task.py @@ -1,5 +1,5 @@ from django import forms -from pytask.taskapp.models import Task +from pytask.taskapp.models import Task, Claim class TaskCreateForm(forms.ModelForm): class Meta: @@ -15,7 +15,7 @@ def AddMentorForm(choices,instance=None): form = myform(instance=instance) if instance else myform() return form -def ClaimTaskForm(models.ModelForm): +class ClaimTaskForm(forms.ModelForm): class Meta: model = Claim fields = ['message'] diff --git a/taskapp/models.py b/taskapp/models.py index 0aa61f3..986f65d 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -14,7 +14,7 @@ STATUS_CHOICES = ( ("LO", "Locked"), ("CL", "Claimed"), ("AS", "Assigned"), - ("RO", "Reopened"), + ("RE", "Reopened"), ("CD", "Closed"), ("DL", "Deleted"), ("CM", "Completed")) diff --git a/taskapp/views/task.py b/taskapp/views/task.py index 99c02d2..f08a82f 100644 --- a/taskapp/views/task.py +++ b/taskapp/views/task.py @@ -3,7 +3,7 @@ from datetime import datetime from django.http import HttpResponse from django.shortcuts import render_to_response, redirect -from pytask.taskapp.models import User, Task, Comment +from pytask.taskapp.models import User, Task, Comment, Claim from pytask.taskapp.forms.task import TaskCreateForm, AddMentorForm from pytask.taskapp.events.task import createTask, addMentor, publishTask, addSubTask from pytask.taskapp.views.user import show_msg @@ -38,12 +38,16 @@ def view_task(request, tid): is_guest = True if not user.is_authenticated() else False is_mentor = True if user in task.mentors.all() else False + task_claimable = True if task.status in ["OP", "RE"] else False + user_can_view_claim = True if ( task_claimable and not ( is_guest or is_mentor ) ) else False + context = {'user':user, 'task':task, 'comments':comments, 'mentors':mentors, 'is_guest':is_guest, 'is_mentor':is_mentor, + 'user_can_view_claim':user_can_view_claim, 'errors':errors, } @@ -171,8 +175,20 @@ def claim_task(request, tid): user = request.user task = Task.objects.get(id=tid) + claims = Claim.objects.filter(task=task) + is_guest = True if not user.is_authenticated() else False + + task_claimable = True if task.status in ["OP", "RE"] else False + user_can_claim = True if ( task_claimable and not ( is_guest or is_mentor ) and ( user not in task.claimed_users.all() ) ) else False + if not is_guest: + if task_claimable: + pass + else: + return show_msg('You are not logged in to view claims for this task', task_url, 'view the task') + else: + return show_msg('You are not logged in to view claims for this task', task_url, 'view the task') diff --git a/templates/task/view.html b/templates/task/view.html index 7f096ed..b20356b 100644 --- a/templates/task/view.html +++ b/templates/task/view.html @@ -20,7 +20,11 @@ <br />{{ task.desc }}<br /> <hr> status of task is {{task.status}}<br /> - view claims goes here depending on availability of claim<br /> + {% if user_can_view_claim %} + <a href="/task/claim/tid={{task.id}}">View claims</a><br /> + view claims goes here depending on availability of claim<br /> + {% endif %} + {% if comments %} <br/>comments:<br /> {% for comment in comments %} @@ -5,7 +5,7 @@ from django.contrib import admin admin.autodiscover() from pytask.taskapp.views.user import homepage, register, user_login, user_logout -from pytask.taskapp.views.task import browse_tasks, view_task, create_task, add_mentor, add_tasks +from pytask.taskapp.views.task import browse_tasks, view_task, create_task, add_mentor, add_tasks, claim_task urlpatterns = patterns('', # Example: @@ -21,6 +21,7 @@ urlpatterns = patterns('', (r'^task/create/$', create_task), (r'^task/addmentor/tid=(\d+)', add_mentor), (r'^task/addtasks/tid=(\d+)', add_tasks), + (r'^task/claim/tid=(\d+)', claim_task), (r'^admin/', include(admin.site.urls)), |