Exemplo n.º 1
0
def item_edit(request, knowledgeItem_id, response_format='html'):
    "Knowledge item edit page"
    item = get_object_or_404(KnowledgeItem, pk=knowledgeItem_id)
    items = Object.filter_permitted(
        manager=KnowledgeItem.objects, user=request.user.profile, mode='r')

    if not request.user.profile.has_permission(item, mode="w"):
        return user_denied(request, message="You don't have access to this Knowledge Item")

    if request.POST:
        if 'cancel' not in request.POST:
            form = KnowledgeItemForm(
                request.user.profile, None, request.POST, instance=item)
            if form.is_valid():
                item = form.save()
                return HttpResponseRedirect(reverse('knowledge_item_view',
                                                    args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge_item_view',
                                                args=[item.folder.treepath, item.treepath]))
    else:
        form = KnowledgeItemForm(
            request.user.profile, None, instance=item)

    context = _get_default_context(request)
    context.update({'form': form,
                    'item': item,
                    'items': items})

    return render_to_response('knowledge/item_edit', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 2
0
def item_add_folder(request, folderPath, response_format='html'):
    "Add new knowledge item to preselected folder"
    items = Object.filter_permitted(
        manager=KnowledgeItem.objects, user=request.user.profile, mode='r')

    try:
        folder = KnowledgeFolder.by_path(folderPath)
        knowledgeType_id = folder.id
    except KnowledgeFolder.DoesNotExist:
        raise Http404

    if request.POST:
        if 'cancel' not in request.POST:
            item = KnowledgeItem()
            form = KnowledgeItemForm(
                request.user.profile, knowledgeType_id, request.POST, instance=item)
            if form.is_valid():
                item = form.save()
                item.set_user_from_request(request)
                return HttpResponseRedirect(reverse('knowledge_item_view',
                                                    args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge'))
    else:
        form = KnowledgeItemForm(request.user.profile, knowledgeType_id)

    context = _get_default_context(request)
    context.update({'items': items,
                    'form': form,
                    'folder': folder})

    return render_to_response('knowledge/item_add_folder', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 3
0
def item_add(request, response_format='html'):
    "Add new knowledge item"
    items = Object.filter_permitted(
        manager=KnowledgeItem.objects, user=request.user.profile, mode='r')

    if request.POST:
        if 'cancel' not in request.POST:
            item = KnowledgeItem()
            form = KnowledgeItemForm(
                request.user.profile, None, request.POST, instance=item)
            if form.is_valid():
                item = form.save()
                item.set_user_from_request(request)
                return HttpResponseRedirect(reverse('knowledge_item_view',
                                                    args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge'))
    else:
        form = KnowledgeItemForm(request.user.profile, None)

    context = _get_default_context(request)
    context.update({'items': items,
                    'form': form})

    return render_to_response('knowledge/item_add', context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 4
0
def item_add(request, response_format='html'):
    "Add new knowledge item"
    items = Object.filter_permitted(manager=KnowledgeItem.objects,
                                    user=request.user.profile,
                                    mode='r')

    if request.POST:
        if 'cancel' not in request.POST:
            item = KnowledgeItem()
            form = KnowledgeItemForm(request.user.profile,
                                     None,
                                     request.POST,
                                     instance=item)
            if form.is_valid():
                item = form.save()
                item.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('knowledge_item_view',
                            args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge'))
    else:
        form = KnowledgeItemForm(request.user.profile, None)

    context = _get_default_context(request)
    context.update({'items': items, 'form': form})

    return render_to_response('knowledge/item_add',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 5
0
def item_add_folder(request, folderPath, response_format='html'):
    "Add new knowledge item to preselected folder"
    items = Object.filter_permitted(manager=KnowledgeItem.objects,
                                    user=request.user.profile,
                                    mode='r')

    try:
        folder = KnowledgeFolder.by_path(folderPath)
        knowledgeType_id = folder.id
    except KnowledgeFolder.DoesNotExist:
        raise Http404

    if request.POST:
        if 'cancel' not in request.POST:
            item = KnowledgeItem()
            form = KnowledgeItemForm(request.user.profile,
                                     knowledgeType_id,
                                     request.POST,
                                     instance=item)
            if form.is_valid():
                item = form.save()
                item.set_user_from_request(request)
                return HttpResponseRedirect(
                    reverse('knowledge_item_view',
                            args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(reverse('knowledge'))
    else:
        form = KnowledgeItemForm(request.user.profile, knowledgeType_id)

    context = _get_default_context(request)
    context.update({'items': items, 'form': form, 'folder': folder})

    return render_to_response('knowledge/item_add_folder',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)
Exemplo n.º 6
0
def item_edit(request, knowledgeItem_id, response_format='html'):
    "Knowledge item edit page"
    item = get_object_or_404(KnowledgeItem, pk=knowledgeItem_id)
    items = Object.filter_permitted(manager=KnowledgeItem.objects,
                                    user=request.user.profile,
                                    mode='r')

    if not request.user.profile.has_permission(item, mode="w"):
        return user_denied(
            request, message="You don't have access to this Knowledge Item")

    if request.POST:
        if 'cancel' not in request.POST:
            form = KnowledgeItemForm(request.user.profile,
                                     None,
                                     request.POST,
                                     instance=item)
            if form.is_valid():
                item = form.save()
                return HttpResponseRedirect(
                    reverse('knowledge_item_view',
                            args=[item.folder.treepath, item.treepath]))
        else:
            return HttpResponseRedirect(
                reverse('knowledge_item_view',
                        args=[item.folder.treepath, item.treepath]))
    else:
        form = KnowledgeItemForm(request.user.profile, None, instance=item)

    context = _get_default_context(request)
    context.update({'form': form, 'item': item, 'items': items})

    return render_to_response('knowledge/item_edit',
                              context,
                              context_instance=RequestContext(request),
                              response_format=response_format)