Example #1
0
def all_tasks(request, user=False):

    if ( not request.user.is_authenticated() and not user ):
        return HttpResponseRedirect('/')

    args = {}

    if ( user == False and request.user.is_authenticated() ):
        args['tags'] = Tag.objects.filter(Q(owner=request.user) | Q(
            users=request.user) | Q(viewers=request.user)).order_by("name")
        args['tasks'] = apply_task_filter(request, ProjectTask.objects.filter(
            Q(creator=request.user) | Q(assigned=request.user)).distinct()).order_by('-startDate')
        args['projects'] = Project.objects.filter(
            Q(manager=request.user) | Q(members=request.user)).distinct()

    else:

        manager = User.objects.get(username__iexact=user)
        args['username'] = user
        args['usertasks'] = True

        if ( request.user.is_authenticated() ):
            args['tags'] = Tag.objects.filter(Q(owner=request.user) | Q(
                users=request.user) | Q(viewers=request.user) | Q(owner=manager,public=True)).order_by("name")

            args['tasks'] = apply_task_filter(request, ProjectTask.objects.filter(
                Q(creator=manager) ).filter( Q(assigned=request.user )|Q(public=True) ).distinct() ).order_by('-startDate')

            args['projects'] = Project.objects.filter(manager=manager).filter( Q(public=True)|Q(members=request.user) ).distinct().order_by("name")

        else:
            args['tags'] = Tag.objects.filter( Q(owner=manager,public=True)).order_by("name")

            args['tasks'] = apply_task_filter(request, ProjectTask.objects.filter(
                Q(creator=manager) ).filter( Q(public=True) ).distinct() ).order_by('-startDate')

            args['projects'] = Project.objects.filter(manager=manager).filter( Q(public=True) ).distinct().order_by("name")





    args['other_name'] = 'All Tasks'
    args['showmore'] = False
    args['other_num'] = args['tasks'].count()
    args['num_tasks'] = args['other_num']


    args['alltasks'] = True
    args['filters'] = get_task_filters(request)

    set_filter_message(request)

    return render_to_response('task_list.html', RequestContext(request, args))
Example #2
0
def user_all_tasks(request, assignee=False, userange=True):
    """
    Displays all of the tasks created by the
    logged in user
    """

    args = {}
    args['tags'] = Tag.objects.filter(Q(owner=request.user) | Q(
        users=request.user) | Q(viewers=request.user)).order_by("name")

    if (not assignee):
        args['notodo'] = True
        tasks = apply_task_filter(
            request, ProjectTask.objects.filter(creator=request.user))
    else:
        tasks = apply_task_filter(
            request,
            ProjectTask.objects.filter(assigned=request.user)
        )

    set_filter_message(request)

    args['user'] = request.user
    args['projects'] = Project.objects.filter(
        Q(manager=request.user) | Q(members=request.user)).distinct()

    args['other_name'] = 'All Other Tasks'
    args['showmore'] = True

    if userange:
        args['tasks'] = tasks.filter(inProgress=False).filter(
            completed=False).order_by('-startDate').all()[0:5]
        args['task_wip'] = tasks.filter(inProgress=True).filter(
            completed=False).order_by('-startDate').all()[0:5]
        args['done_tasks'] = tasks.filter(
            completed=True).order_by('-startDate').all()[0:5]
    else:
        args['task_wip'] = tasks.filter(inProgress=True).filter(
            completed=False).order_by('-startDate').all()
        args['tasks'] = tasks.filter(inProgress=False).filter(
            completed=False).order_by('-startDate').all()

    args['done_num'] = tasks.filter(completed=True).count()
    args['wip_num'] = tasks.filter(
        inProgress=True).filter(completed=False).count()
    args['other_num'] = tasks.filter(
        inProgress=False).filter(completed=False).count()

    args['num_tasks'] = len(tasks)
    args['filters'] = get_task_filters(request)

    return render_to_response('task_list.html', RequestContext(request, args))
Example #3
0
def tasks_by_status(request, assignee=False, status='inprogress'):
    """
    Displays the user's tasks and todo filtered
    by the status.
    """
    inprogress = False
    completed = False
    name = 'Tasks'

    if (status == 'inprogress'):
        inprogress = True
        name = 'Tasks in Progress'

    if (status == 'complete'):
        completed = True
        name = 'Completed Tasks'

    args = {}
    args['tags'] = Tag.objects.filter(Q(owner=request.user) | Q(
        users=request.user) | Q(viewers=request.user)).order_by("name")

    if (not assignee):
        args['notodo'] = True
        tasks = apply_task_filter(request, ProjectTask.objects.filter(
            creator=request.user).order_by('-startDate'))
    else:
        tasks = apply_task_filter(
            request,
            ProjectTask.objects.filter(
                assigned=request.user).order_by('-startDate')
        )

    set_filter_message(request)

    args['user'] = request.user
    args['projects'] = Project.objects.filter(
        Q(manager=request.user) | Q(members=request.user)).distinct()
    args['tasks'] = tasks.filter(inProgress=inprogress).filter(
        completed=completed).all()
    args['other_num'] = tasks.filter(
        inProgress=inprogress).filter(completed=completed).count()
    args['other_name'] = name
    args['num_tasks'] = args['other_num']
    args['other_showmore'] = False

    args['filters'] = get_task_filters(request)

    return render_to_response('task_list.html', RequestContext(request, args))