# HG changeset patch # User anoop # Date 1267010523 -19800 # Node ID fd6b28204fb19998e49ffdf90fde14645fbe03e3 # Parent c5bcafccc13500791dfd8d6b965320a50e43f1d3# Parent 8f2906d1200a4212315bb4a5aa11947b8b3493f6 merged. diff -r c5bcafccc135 -r fd6b28204fb1 taskapp/events/task.py --- a/taskapp/events/task.py Wed Feb 24 16:49:30 2010 +0530 +++ b/taskapp/events/task.py Wed Feb 24 16:52:03 2010 +0530 @@ -120,7 +120,7 @@ try: task.title = title task.save() - except IntegrityError: + except Task.IntegrityError: return None if desc:task.desc = desc if credits:task.credits = credits diff -r c5bcafccc135 -r fd6b28204fb1 taskapp/views/task.py --- a/taskapp/views/task.py Wed Feb 24 16:49:30 2010 +0530 +++ b/taskapp/views/task.py Wed Feb 24 16:52:03 2010 +0530 @@ -128,12 +128,15 @@ if (not is_guest) and user in task.mentors.all(): ## now iam going for a brute force method - user_list = list(User.objects.all()) + user_list = list(User.objects.filter(is_active=True)) for mentor in task.mentors.all(): user_list.remove(mentor) for a_user in task.claimed_users.all(): user_list.remove(a_user) + + for a_user in task.assigned_users.all(): + user_list.remove(a_user) non_mentors = ((_.id,_.username) for _ in user_list) ## code till must be made elegant and not brute force like above @@ -193,18 +196,20 @@ user = request.user task = getTask(tid) claims = Claim.objects.filter(task=task) + + mentors = task.mentors.all() + claimed_users = task.claimed_users.all() + assigned_users = task.assigned_users.all() is_guest = True if not user.is_authenticated() else False - if user in task.mentors.all(): - is_mentor = True - else: - is_mentor = False + is_mentor = True if user in mentors else False - task_claimable = True if task.status in ["OP", "RE", "CL"] 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 - task_claimed = True if task.status == "CL" else False + task_claimable = True if task.status in ["OP", "WR"] else False + user_can_claim = True if task_claimable and not ( is_guest or is_mentor ) and ( user not in claimed_users ) and ( user not in assigned_users ) else False + task_claimed = True if claimed_users else False - context = {'is_mentor':is_mentor, + context = {'user':user, + 'is_mentor':is_mentor, 'task':task, 'claims':claims, 'user_can_claim':user_can_claim, @@ -240,11 +245,14 @@ is_guest = True if not user.is_authenticated() else False is_mentor = True if user in task.mentors.all() else False - task_claimed = True if task.status == "CL" else False + claimed_users = task.claimed_users.all() + assigned_users = task.assigned_users.all() + + task_claimed = True if claimed_users else False if (not is_guest) and is_mentor: if task_claimed: - user_list = ((user.id,user.username) for user in task.claimed_users.all()) + user_list = ((user.id,user.username) for user in claimed_users) form = AssignTaskForm(user_list) if request.method == "POST": @@ -254,12 +262,10 @@ return redirect(task_url) else: return render_to_response('task/assign.html',{'form':form}) - elif task.status == "AS": - return show_msg('The task is already assigned', task_url, 'view the task') - elif task.status == "OP": - return show_msg('No one has still claimed the task', task_url, 'view the task') + elif assigned_users: + return show_msg('When the no of users you need for the task is more than the no of users willing to do the task, I\'d say please re consider the task :P',task_url, 'view the task') else: - return show_msg('The task status is %s. how can you assign it now'%task.status, task_url, 'view the task') + return show_msg('Wait for ppl to claim dude... slow and steady wins the race :)', task_url, 'view the task') else: return show_msg('You are not authorised to perform this action', task_url, 'view the task') @@ -268,4 +274,4 @@ and then give the user fields accordingly. """ - return None + task = Task.objects.get(id=tid) diff -r c5bcafccc135 -r fd6b28204fb1 templates/task/claim.html --- a/templates/task/claim.html Wed Feb 24 16:49:30 2010 +0530 +++ b/templates/task/claim.html Wed Feb 24 16:52:03 2010 +0530 @@ -8,11 +8,15 @@ {{claim.message}}
{% endfor %} {% else %} - There are no claims for this task yet.
+ {% if task_claimable%} + There are no claims for this task yet.
+ {% else %} + This task cannot be claimed right now. + {% endif %} Click here to return to the task. {% endif %} {% if task_claimed and is_mentor %} - Assign task + Select a user to assign the work. {% endif %} {% if user_can_claim %}
diff -r c5bcafccc135 -r fd6b28204fb1 templates/task/view.html --- a/templates/task/view.html Wed Feb 24 16:49:30 2010 +0530 +++ b/templates/task/view.html Wed Feb 24 16:52:03 2010 +0530 @@ -13,11 +13,12 @@ {{mentor.username}}| {% endfor %} {% if can_mod_mentors %} - Add another Mentor to this task
+ Add another Mentor to this task +
edit task goes here and it should contain all those add subs and add deps depending on availability
{% endif %} - {% if deps %} + {% if deps %}
The task has following dependencies {% for dep in deps %} {{dep.title}}
@@ -27,9 +28,9 @@ remove an existing dependency {% endif %} {% else %} - {%if can_mod_tasks %} + {% if can_mod_tasks %} add a subtask/dependency - {%endif%} + {% endif %} {% endif %}
@@ -43,12 +44,15 @@ {% for user in assigned_users %} {{user.username}}| {% endfor %} + {% if is_mentor %} + Remove an existing user
+ {% endif %} {% endif %} - {%if can_assign_credits%} + {% if can_assign_credits %} Assign credits - {%endif%} - {% if not is_guest %} + {% endif %} + {% if not is_guest and task_claimable %} View claims
{% endif %}