Пример #1
0
def index(request, project_id):
    t = 'projects/time/index.html'
    response_vars = { }

    project     = Project.objects.get(id=project_id)
    time_list   = Time.objects.filter(project=project)

    if request.method == 'POST':

        form = TimeForm(request.POST)

        if form.is_valid():
            time = form.save(commit=False)
            time.project_id = project_id
            time.save()

    else:
        time = Time()
        time.person = request.user
        time.date = datetime.now().date
        form = TimeForm(instance=time)




    response_vars['project'] = project
    response_vars['form'] = form
    response_vars['time_list'] = time_list

    response_vars['total_time'] = time_list.aggregate(Sum('time'))

    return render_project(request, project_id, t, response_vars)
Пример #2
0
def membership_add(request, project_id, member_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/project/membership_form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)


    if member_id:
        member = Membership.objects.get(id=member_id)
        form = MembershipForm(instance=member)
    else:
        member = Membership()
        form = MembershipForm()

    if request.method == 'POST':
        form = MembershipForm(request.POST)

        if form.is_valid():
            membership = form.save(commit=False)
            membership.project = project
            membership.save()

            return HttpResponseRedirect(reverse('project_people', args=[project.id]))

    response_vars['form'] = form
    response_vars['member'] = member
    response_vars['project'] = project

    return render_project(request, project_id, t, response_vars)
Пример #3
0
def dashboard(request,project_id):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/dashboard.html'
    response_vars = {}

    return render_project(request, project_id, t, response_vars)
Пример #4
0
def index(request,project_id):
    t = 'projects/message/index.html'
    response_vars = { }

    project = Project.objects.get(id=project_id)

    response_vars['project']    = project
    response_vars['messages']   = Message.objects.filter(project=project)

    return render_project(request, project_id, t, response_vars)
Пример #5
0
def save(request, project_id, time_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/time/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    task = None

    if time_id:
        time = Time.objects.get(id=time_id)
        form = TimeForm(instance=time)
        parent = time.parent
    else:
        time = Time()
        form = TimeForm()

    if request.POST.has_key('task_id') and request.POST['task_id']:
        task = Task.objects.get(id=request.POST['task_id'])
    else:
        if request.GET.has_key('task') and request.GET['task']:
            task = Task.objects.get(id=request.GET['task'])


    if request.method == 'POST':

        form = TimeForm(request.POST)

        if form.is_valid():
            if time_id:
                form = TimeForm(request.POST, instance=Time.objects.get(id=time_id))
                time = form.save(commit=False)
            else:
                time = form.save(commit=False)
                time.project = project

            time.content_object  = task
            time.person = request.user
            time.save()

            if task:
                return HttpResponseRedirect(reverse('task_detail', args=[project.id, task.id]))

            return HttpResponseRedirect(reverse('projects.views.time.index', args=[project.id]))


    response = { }
    response_vars['request']      = request
    response_vars['project']      = project
    response_vars['form']         = form
    response_vars['time']         = time
    response_vars['task']         = task

    return render_project(request, project_id, t, response_vars)
Пример #6
0
def index(request, project_id):
    t = 'projects/issue/index.html'
    response_vars = { }

    project     = Project.objects.get(id=project_id)
    issue_list   = Issue.objects.filter(project=project)

    response_vars['project'] = project
    response_vars['issue_list'] = issue_list

    return render_project(request, project_id, t, response_vars)
Пример #7
0
def detail(request, project_id, task_id):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/task/detail.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    task = get_object_or_404(Task, pk=task_id)

    response_vars['task'] = task

    return render_project(request, project_id, t, response_vars)
Пример #8
0
def people(request,project_id):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/project/people.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    response_vars['members'] = Membership.objects.filter(project=project).select_related()
    response_vars['roles']   = Role.objects.all()
    response_vars['project'] = project

    return render_project(request, project_id, t, response_vars)
Пример #9
0
def save(request, project_id, task_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/task/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    parent = None
    kwargs = {}
    kwargs['project'] = project

    if task_id:
        task = Task.objects.get(id=task_id)
        form = TaskForm(instance=task)
        parent = task.parent
    else:
        task = Task()
        form = TaskForm(**kwargs)

        if request.GET.has_key('parent') and request.GET['parent']:
            parent = Task.objects.get(id=request.GET['parent'])

    if request.method == 'POST':
        form = TaskForm(request.POST, **kwargs)
        if form.is_valid():
            if task_id:
                form = TaskForm(request.POST, instance=Task.objects.get(id=task_id))
                task = form.save(commit=False)
            else:
                task = form.save(commit=False)
                task.project = project
                task.parent  = parent

            task.assignor = request.user

            task.save()

            return HttpResponseRedirect(reverse('projects.views.task.index', args=[project.id]))


    response = { }
    response_vars['request']      = request
    response_vars['project']      = project
    response_vars['form']         = form
    response_vars['task']         = task
    response_vars['parent']       = parent

    return render_project(request, project_id, t, response_vars)
Пример #10
0
def save(request, project_id, issue_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/issue/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    task = None

    if issue_id:
        issue = Issue.objects.get(id=issue_id)
        form = IssueForm(instance=issue)
    else:
        issue = Issue()
        form = IssueForm()

    if request.method == 'POST':

        form = IssueForm(request.POST)

        if form.is_valid():
            if issue_id:
                form = IssueForm(request.POST, instance=Issue.objects.get(id=issue_id))
                issue = form.save(commit=False)
            else:
                issue = form.save(commit=False)
                issue.project = project

            issue.person = request.user
            issue.save()

            if task:
                return HttpResponseRedirect(reverse('task_detail', args=[project.id, task.id]))

            return HttpResponseRedirect(reverse('projects.views.issue.index', args=[project.id]))


    response = { }
    response_vars['request']      = request
    response_vars['project']      = project
    response_vars['form']         = form
    response_vars['issue']         = issue
    response_vars['task']         = task

    return render_project(request, project_id, t, response_vars)
Пример #11
0
def index(request,project_id):
    t = 'projects/task/index.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    milestones = Milestone.objects.filter(project=project).order_by('end_date')
    milestone_list = []
    for milestone in milestones:
        if milestone.task_set.all():
            milestone_list.append(milestone)


    response_vars['project']    = Project.objects.get(id=project_id)
    response_vars['milestones'] = milestone_list


    return render_project(request, project_id, t, response_vars)
Пример #12
0
def save(request, project_id, milestone_id=False):
    """
    Shows latest activity and other usefull info
    """
    t = 'projects/milestone/form.html'
    response_vars = {}
    project = Project.objects.get(id=project_id)

    if milestone_id:
        milestone = Milestone.objects.get(id=milestone_id)
        form = MilestoneForm(instance=milestone)
    else:
        milestone = Milestone()
        form = MilestoneForm()

    if request.method == 'POST':
        form = MilestoneForm(request.POST)

        if form.is_valid() and milestone_id:
            milestone = Milestone.objects.get(id=milestone_id)
            tmp_milestone = form.save(commit=False)

            milestone.title = tmp_milestone.title
            milestone.end_date = tmp_milestone.end_date
            milestone.completed = tmp_milestone.completed

            milestone.save()

            return HttpResponseRedirect(reverse('projects.views.milestone.index', args=[project.id]))

        elif form.is_valid():
            milestone = form.save(commit=False)
            milestone.project = project
            milestone.user = request.user
            if milestone_id:
                milestone.id = milestone_id
            milestone.save()

            return HttpResponseRedirect(reverse('projects.views.milestone.index', args=[project.id]))

    response_vars['form'] = form
    response_vars['milestone'] = milestone
    response_vars['project'] = project

    return render_project(request, project_id, t, response_vars)
Пример #13
0
def save(request, project_id, message_id=False):
    t = 'projects/message/form.html'
    response_vars = { }

    project = Project.objects.get(id=project_id)

    if message_id:
        message = Message.objects.get(id=message_id)
        form = MessageForm(instance=message)
    else:
        message = Message()
        form = MessageForm()

    if request.method == 'POST':
        form = MessageForm(request.POST)

        if form.is_valid() and message_id:
            message = Message.objects.get(id=message_id)
            tmp_message = form.save(commit=False)

            message.title = tmp_message.title
            message.start_date = tmp_message.start_date
            message.end_date = tmp_message.end_date
            message.completed = tmp_message.completed

            message.save()

            return HttpResponseRedirect(reverse('projects.views.message.index', args=[project.id]))

        elif form.is_valid():
            message = form.save(commit=False)
            message.project = project
            message.user = request.user
            if message_id:
                message.id = message_id
            message.save()

            return HttpResponseRedirect(reverse('projects.views.message.index', args=[project.id]))

    response_vars['form']         = form
    response_vars['message']      = message
    response_vars['project']      = project

    return render_project(request, project_id, t, response_vars)
Пример #14
0
def details(request, project_id, message_id):
    t = 'projects/message/details.html'
    response_vars = { }

    project = Project.objects.get(id=project_id)
    message = Message.objects.get(id=message_id)

    if request.method == 'POST':
        comment_form = CommentForm(data=request.POST)
        if comment_form.is_valid():
            message.comments.create(comment = comment_form.cleaned_data["comment"], user=request.user)
            return HttpResponseRedirect(reverse('projects.views.message.details', args=[unicode(project.id), message_id]))
    else:
        comment_form = CommentForm()

    response_vars['message'] = message
    response_vars['comment_form'] = comment_form
    response_vars['comments'] = message.comments.all().order_by("-created")

    return render_project(request, project_id, t, response_vars)
Пример #15
0
def delete(request, project_id):
    t = 'projects/issue/delete.html'
    response_vars = { }

    return render_project(request, project_id, t, response_vars)