Beispiel #1
0
def task_time_slot_add(request, task_id, response_format='html'):
    "Time slot add to preselected task"
    
    task = get_object_or_404(Task, pk=task_id)
    if not request.user.get_profile().has_permission(task, mode='x'):
        return user_denied(request, message="You don't have access to this Task")
    
    if request.POST:
        task_time_slot = TaskTimeSlot(task=task, time_to=datetime.now(), user=request.user.get_profile())
        form = TaskTimeSlotForm(request.user.get_profile(), task_id, request.POST, instance=task_time_slot)
        if 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
        elif form.is_valid():
            task_time_slot = form.save()
            task_time_slot.set_user_from_request(request)
            return HttpResponseRedirect(reverse('projects_task_view', args=[task.id]))
    else:
        form = TaskTimeSlotForm(request.user.get_profile(), task_id)
    
    subtasks = Object.filter_by_request(request, Task.objects.filter(parent=task))
    time_slots = Object.filter_by_request(request, TaskTimeSlot.objects.filter(task=task))

    context = _get_default_context(request)
    context.update({'form': form,
                    'task': task,
                    'subtasks': subtasks,
                    'time_slots': time_slots})
    
    return render_to_response('projects/task_time_add', context,
                               context_instance=RequestContext(request), response_format=response_format)  
Beispiel #2
0
def task_time_slot_start(request, task_id, response_format='html'):
    "Start TaskTimeSlot for preselected Task"
    
    task = get_object_or_404(Task, pk=task_id)
    if not request.user.get_profile().has_permission(task, mode='x'):
        return user_denied(request, message="You don't have access to this Task")
    
    if not task.is_being_done_by(request.user.get_profile()):
        task_time_slot = TaskTimeSlot(task=task, time_from=datetime.now(), user=request.user.get_profile())
        task_time_slot.save()
        task_time_slot.set_user_from_request(request)
    
    return HttpResponseRedirect(reverse('projects_task_view', args=[task_id]))
Beispiel #3
0
    def read(self, request, task_id, *args, **kwargs):
        try:
            task = Task.objects.get(pk=task_id)
        except Task.DoesNotExist:
            return rc.NOT_FOUND

        if not request.user.get_profile().has_permission(task, mode='x'):
            return rc.FORBIDDEN

        if not task.is_being_done_by(request.user.get_profile()):
            task_time_slot = TaskTimeSlot(task=task, time_from=datetime.now(), user=request.user.get_profile())
            task_time_slot.save()
            task_time_slot.set_user_from_request(request)
            return task_time_slot
        return ("The task isn't in progress", 401)