Пример #1
0
def create(request):
    """Create a new wiki document"""
    base_perms = request.user.get_all_permissions()
    if 'wiki.add_document' not in base_perms:
        raise PermissionDenied()

    parent_pk = request.GET.get('parent', None)
    if not parent_pk:
        parent = None
    else:
        parent = get_object_or_404_or_403('add_document_child',
                                          request.user,
                                          Document,
                                          pk=parent_pk)

    if 'POST' != request.method:
        form = DocumentCreateForm()
    else:
        form = DocumentCreateForm(request.POST)
        if form.is_valid():
            document = form.save(commit=False)
            if parent:
                document.parent = parent
            document.creator = request.user
            document.save()
            return redirect(document.get_absolute_url())

    return render(request, 'wiki/create.html', dict(parent=parent, form=form))
Пример #2
0
def create(request):
    """Create a new wiki document"""
    base_perms = request.user.get_all_permissions()
    if 'wiki.add_document' not in base_perms:
        raise PermissionDenied()

    parent_pk = request.GET.get('parent', None)
    if not parent_pk:
        parent = None
    else:
        parent = get_object_or_404_or_403(
            'add_document_child', request.user, Document, pk=parent_pk)

    if 'POST' != request.method:
        form = DocumentCreateForm()
    else:
        form = DocumentCreateForm(request.POST)
        if form.is_valid():
            document = form.save(commit=False)
            if parent:
                document.parent = parent
            document.creator = request.user
            document.save()
            return redirect(document.get_absolute_url())

    return render(request, 'wiki/create.html', dict(
        parent=parent, form=form
    ))
Пример #3
0
def view(request, name):
    document = get_object_or_404_or_403('view_document', request.user,
                                        Document, name=name)

    perms = request.user.get_all_permissions(document)

    return render(request, 'wiki/view.html', dict(
        document=document, perms=perms
    ))
Пример #4
0
def view(request, name):
    document = get_object_or_404_or_403('view_document', request.user,
                                        Document, name=name)

    perms = request.user.get_all_permissions(document)

    return render(request, 'wiki/view.html', dict(
        document=document, perms=perms
    ))
Пример #5
0
def delete(request, name):
    document = get_object_or_404_or_403('delete_document', request.user,
                                        Document, name=name)

    if 'POST' == request.method:
        document.delete()
        return redirect(reverse('base.views.index'))

    return render(request, 'wiki/delete.html', dict(
        document=document
    ))
Пример #6
0
def delete(request, name):
    document = get_object_or_404_or_403('delete_document',
                                        request.user,
                                        Document,
                                        name=name)

    if 'POST' == request.method:
        document.delete()
        return redirect(reverse('base.views.index'))

    return render(request, 'wiki/delete.html', dict(document=document))
Пример #7
0
def edit(request, name):
    document = get_object_or_404_or_403('change_document', request.user,
                                        Document, name=name)

    if 'POST' != request.method:
        form = DocumentEditForm(instance=document)
    else:
        form = DocumentEditForm(request.POST, instance=document)
        if form.is_valid():
            document = form.save()
            return redirect(document.get_absolute_url())

    return render(request, 'wiki/edit.html', dict(
        document=document, form=form
    ))
Пример #8
0
def edit(request, name):
    document = get_object_or_404_or_403('change_document', request.user,
                                        Document, name=name)

    if 'POST' != request.method:
        form = DocumentEditForm(instance=document)
    else:
        form = DocumentEditForm(request.POST, instance=document)
        if form.is_valid():
            document = form.save()
            return redirect(document.get_absolute_url())

    return render(request, 'wiki/edit.html', dict(
        document=document, form=form
    ))
Пример #9
0
def team_detail(request, name):
    team = get_object_or_404_or_403('view_team', request.user,        
                                    Team, name=name)

    # TODO: Should this be a team model method?
    members = dict()
    for role in team.role_set.all():
        for user in role.users.all():
            username = user.username
            if username not in members:
                members[username] = dict(user=user, roles=[role])
            else:
                members[username]['roles'].append(role)

    return render(request, 'profiles/team_detail.html', dict(
        team=team,
        members=members.values(),
        roles=team.role_set.all(),
    ))
Пример #10
0
def team_detail(request, name):
    team = get_object_or_404_or_403('view_team', request.user, Team, name=name)

    # TODO: Should this be a team model method?
    members = dict()
    for role in team.role_set.all():
        for user in role.users.all():
            username = user.username
            if username not in members:
                members[username] = dict(user=user, roles=[role])
            else:
                members[username]['roles'].append(role)

    return render(
        request, 'profiles/team_detail.html',
        dict(
            team=team,
            members=members.values(),
            roles=team.role_set.all(),
        ))