addded link to view claims in 'view task' page .
authornishanth
Thu, 04 Feb 2010 23:10:30 +0530
changeset 22 36d3173ab7f9
parent 21 c28774fe7ffd
child 23 f33084ea1361
addded link to view claims in 'view task' page .
taskapp/admin.py
taskapp/forms/task.py
taskapp/models.py
taskapp/views/task.py
templates/task/view.html
urls.py
--- a/taskapp/admin.py	Thu Feb 04 22:37:15 2010 +0530
+++ b/taskapp/admin.py	Thu Feb 04 23:10:30 2010 +0530
@@ -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)
--- a/taskapp/forms/task.py	Thu Feb 04 22:37:15 2010 +0530
+++ b/taskapp/forms/task.py	Thu Feb 04 23:10:30 2010 +0530
@@ -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 @@
     form = myform(instance=instance) if instance else myform()
     return form
 
-def ClaimTaskForm(models.ModelForm):
+class ClaimTaskForm(forms.ModelForm):
     class Meta:
         model = Claim
         fields = ['message']
--- a/taskapp/models.py	Thu Feb 04 22:37:15 2010 +0530
+++ b/taskapp/models.py	Thu Feb 04 23:10:30 2010 +0530
@@ -14,7 +14,7 @@
     ("LO", "Locked"),
 	("CL", "Claimed"),
 	("AS", "Assigned"),
-    ("RO", "Reopened"),
+    ("RE", "Reopened"),
     ("CD", "Closed"),
     ("DL", "Deleted"),
     ("CM", "Completed"))
--- a/taskapp/views/task.py	Thu Feb 04 22:37:15 2010 +0530
+++ b/taskapp/views/task.py	Thu Feb 04 23:10:30 2010 +0530
@@ -3,7 +3,7 @@
 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 @@
     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,10 +175,22 @@
     
     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')
     
     
     
     
     
-    
-    
--- a/templates/task/view.html	Thu Feb 04 22:37:15 2010 +0530
+++ b/templates/task/view.html	Thu Feb 04 23:10:30 2010 +0530
@@ -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 %}
--- a/urls.py	Thu Feb 04 22:37:15 2010 +0530
+++ b/urls.py	Thu Feb 04 23:10:30 2010 +0530
@@ -5,7 +5,7 @@
 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 @@
     (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)),