Exemple #1
0
def issue_tables(request, project_number, categories=[], active_tab=None, vars={}):
    project = get_project(project_number)
    
    filters = {
        'code': 'contracts__code',
        'status': 'status__name',
        'user': '******',
    }
    for field, q_field in filters.iteritems():
        if request.GET.has_key(field):
            for category in categories:
                category['issues'] = category['issues'].filter(Q(**{q_field: request.GET[field]}))
    
    # Load tabs
    tools = project_tools(project)
    tabs = project_tabs(project)
    if active_tab: tabs[active_tab]["active"] = True
    
    # Load all IssueStatuses
    all_statuses = IssueStatus.objects.all()
    
    if vars.has_key("breadcrumb"):
        print "WTF!?!?!?"
    vars.update(locals())
    
    return render_project_response(request, 'project/issue_tables.html', project_number, vars)
Exemple #2
0
def issue_view(request, project_number, issue_id):
    issue = get_object_or_404(Issue, id=issue_id)
    tools = [
        tab('edit issue', 'Rediger sak', issue.get_edit_url()),
    ]
    
    subscription = False
    if request.user in issue.subscribers.all():
        tools.append(tab('unsubscribe issue', 'Avslutt abonnement', reverse(issue_unsubscribe, args=(project_number, issue_id,))))
        subscription = IssueSubscription.objects.get(issue=issue, user=request.user)
        if subscription.notify:
            tools.append(tab('unnotify', 'Slå av varsling', reverse(issue_denotify, args=(project_number, issue_id,))))
        else:
            tools.append(tab('notify', 'Slå på varsling', reverse(issue_notify, args=(project_number, issue_id,))))
    else:
        tools.append(tab('subscribe issue', 'Abonnér på sak', reverse(issue_subscribe, args=(project_number, issue_id,))))
    
    if subscription:
        issue.subscription = subscription
    
    # Load issue notificants cache excluding current user
    issue.notificants(exclude_user=request.user)
    
    breadcrumb = issue
    return render_project_response(request, 'issue/view.html', project_number, locals())
Exemple #3
0
def issue_form(request, project_number, issue, action, postaction):
    ImageFormset = modelformset_factory(ImageResource, form=ImageResourceForm, extra=1, can_delete=True)
    image_qs = ImageResource.objects.none()
    if issue.pk:
        image_qs = issue.all_images()
    else:
        issue.project = get_project(project_number)
    
    if request.POST:
        form = IssueForm(request.POST, instance=issue)
        formset = ImageFormset(request.POST, request.FILES)
        if form.is_valid() and formset.is_valid():
            issue = form.save()
            
            images = formset.save(commit=False)
            for image in images:
                image.parent = issue
                image.save()
            
            return HttpResponseRedirect(issue.get_absolute_url())
    else:
        form = IssueForm(instance=issue)
        formset = ImageFormset(queryset=image_qs)
    
    breadcrumb = issue
    return render_project_response(request, 'issue/form.html', project_number, locals())
Exemple #4
0
def contract_list(request, project_number):
    project = get_project(project_number)
    pagetitle = u"Kontrakter"
    
    contracts = project.contract_set.all()
    for contract in contracts:
        contract.my_issues = contract.get_all_issues(request.user)
        contract.my_issues_url = contract.get_my_issues_url(request.user)
    tools = project_tools(project)
    tabs = project_tabs(project)
    tabs[1]["active"] = True
    return render_project_response(request, 'contract/list.html', project_number, locals())
Exemple #5
0
def list(request, project_number, key, list_by, issues):
    breadcrumb = key
    key.project = get_project(project_number)
    return render_project_response(request, 'project/list_by.html', project_number, locals())