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.get_profile(), mode='r') try: folder = KnowledgeFolder.by_path(folderPath) knowledgeType_id = folder.id except KnowledgeFolder.DoesNotExist: raise Http404 if request.POST: if not 'cancel' in request.POST: item = KnowledgeItem() form = KnowledgeItemForm(request.user.get_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.get_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)
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.get_profile(), mode='r') if not request.user.get_profile().has_permission(item, mode="w"): return user_denied(request, message="You don't have access to this Knowledge Item") if request.POST: if not 'cancel' in request.POST: form = KnowledgeItemForm(request.user.get_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.get_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)
def item_add(request, response_format='html'): "Add new knowledge item" items = Object.filter_permitted(manager=KnowledgeItem.objects, user=request.user.get_profile(), mode='r') if request.POST: if not 'cancel' in request.POST: item = KnowledgeItem() form = KnowledgeItemForm(request.user.get_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.get_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)