def folder_view(request, folderPath, response_format='html'): "Single knowledge folder view page" folder = KnowledgeFolder.by_path(folderPath) if not folder: raise Http404 if not request.user.profile.has_permission(folder): return user_denied( request, message="You don't have access to this Knowledge Type") items = Object.filter_by_request( request, manager=KnowledgeItem.objects.filter(folder=folder)) subfolders = KnowledgeFolder.objects.filter(parent=folder) context = _get_default_context(request) context.update({ 'items': items, 'folder': folder, 'subfolders': subfolders }) return render_to_response('knowledge/folder_view', context, context_instance=RequestContext(request), response_format=response_format)
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)
def folder_add_folder(request, folderPath, response_format='html'): "Add new knowledge folder to preselected folder" try: folder = KnowledgeFolder.by_path(folderPath) knowledgeType_id = folder.id except KnowledgeFolder.DoesNotExist: raise Http404 parent = None if knowledgeType_id: parent = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id) if not request.user.profile.has_permission(parent, mode='x'): parent = None if request.POST: if not 'cancel' in request.POST: folder = KnowledgeFolder() form = KnowledgeFolderForm(request.user.profile, knowledgeType_id, request.POST, instance=folder) if form.is_valid(): folder = form.save() folder.set_user_from_request(request) return HttpResponseRedirect( reverse('knowledge_folder_view', args=[folder.treepath])) else: return HttpResponseRedirect(reverse('knowledge')) else: form = KnowledgeFolderForm(request.user.profile, knowledgeType_id) context = _get_default_context(request) context.update({'form': form, 'parent': parent}) return render_to_response('knowledge/folder_add_folder', context, context_instance=RequestContext(request), response_format=response_format)
def folder_view(request, folderPath, response_format='html'): "Single knowledge folder view page" folder = KnowledgeFolder.by_path(folderPath) if not folder: raise Http404 if not request.user.profile.has_permission(folder): return user_denied(request, message="You don't have access to this Knowledge Type") items = Object.filter_by_request( request, manager=KnowledgeItem.objects.filter(folder=folder)) subfolders = KnowledgeFolder.objects.filter(parent=folder) context = _get_default_context(request) context.update({'items': items, 'folder': folder, 'subfolders': subfolders}) return render_to_response('knowledge/folder_view', context, context_instance=RequestContext(request), response_format=response_format)
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)
def folder_add_folder(request, folderPath, response_format='html'): "Add new knowledge folder to preselected folder" try: folder = KnowledgeFolder.by_path(folderPath) knowledgeType_id = folder.id except KnowledgeFolder.DoesNotExist: raise Http404 parent = None if knowledgeType_id: parent = get_object_or_404(KnowledgeFolder, pk=knowledgeType_id) if not request.user.profile.has_permission(parent, mode='x'): parent = None if request.POST: if not 'cancel' in request.POST: folder = KnowledgeFolder() form = KnowledgeFolderForm(request.user.profile, knowledgeType_id, request.POST, instance=folder) if form.is_valid(): folder = form.save() folder.set_user_from_request(request) return HttpResponseRedirect(reverse('knowledge_folder_view', args=[folder.treepath])) else: return HttpResponseRedirect(reverse('knowledge')) else: form = KnowledgeFolderForm( request.user.profile, knowledgeType_id) context = _get_default_context(request) context.update({'form': form, 'parent': parent}) return render_to_response('knowledge/folder_add_folder', context, context_instance=RequestContext(request), response_format=response_format)