def landing_view(request): """ The external landing.""" revision = None can_edit = False edit_url = None if "farnswiki" in settings.INSTALLED_APPS: from wiki.models import Page from wiki.hooks import hookset binder = settings.WIKI_BINDERS[0] wiki = binder.lookup() try: if wiki: page = wiki.pages.get(slug="landing") else: page = Page.objects.get(slug="landing") except (Page.DoesNotExist, Page.MultipleObjectsReturned): can_edit = hookset.can_create_page(wiki, request.user, slug="landing") edit_url = binder.page_url(wiki, "landing") else: revision = page.revisions.latest() can_edit = hookset.can_edit_page(page, request.user) edit_url = page.get_edit_url() return render_to_response( "external.html", {"page_name": "Landing", "revision": revision, "can_edit": can_edit, "edit_url": edit_url}, context_instance=RequestContext(request), )
def landing_view(request): ''' The external landing.''' revision = None can_edit = False edit_url = None if "farnswiki" in settings.INSTALLED_APPS: from wiki.models import Page from wiki.hooks import hookset binder = settings.WIKI_BINDERS[0] wiki = binder.lookup() try: if wiki: page = wiki.pages.get(slug="landing") else: page = Page.objects.get(slug="landing") except (Page.DoesNotExist, Page.MultipleObjectsReturned): can_edit = hookset.can_create_page(wiki, request.user, slug="landing") edit_url = binder.page_url(wiki, "landing") else: revision = page.revisions.latest() can_edit = hookset.can_edit_page(page, request.user) edit_url = page.get_edit_url() return render_to_response('external.html', { "page_name": "Landing", "revision": revision, "can_edit": can_edit, "edit_url": edit_url, }, context_instance=RequestContext(request))
def add_page_view(request, binder, *args, **kwargs): wiki = binder.lookup(*args, **kwargs) slug = request.GET.get("slug", "") if not slug: slug = "Page Name" try: if wiki: page = wiki.pages.get(slug=slug) else: page = Page.objects.get(slug=slug) except Page.DoesNotExist: pass else: return HttpResponseRedirect(page.get_edit_url()) if not hookset.can_create_page(wiki, request.user, slug=slug): messages.add_message( request, messages.ERROR, "You do not have permission to create this page.") return HttpResponseRedirect(reverse("wiki_all")) form = RevisionForm( request.POST if "edit" in request.POST else None, revision=None, ) if form.is_valid(): page = Page.objects.create(wiki=wiki, slug=slug) revision = form.save(commit=False) revision.page = page revision.created_by = request.user revision.created_ip = request.META.get( settings.WIKI_IP_ADDRESS_META_FIELD, request.META.get("REMOTE_ADDR")) revision.parse() revision.save() return HttpResponseRedirect(binder.page_url(wiki, slug)) form.fields["content"].help_text = "" page_name = "Add {0}".format(slug) return render_to_response("wiki/edit.html", { "page_name": page_name, "form": form, "can_delete": False, }, context_instance=RequestContext(request))
def all_pages_view(request, binder, *args, **kwargs): wiki = binder.lookup(*args, **kwargs) if wiki: pages = wiki.pages.all() else: pages = Page.objects.all() pages = [page for page in pages if hookset.can_view_page(page, request.user)] page_name = "All Pages" can_add = hookset.can_create_page(wiki, request.user) return render_to_response( "wiki/all.html", {"page_name": page_name, "pages": pages, "can_add": can_add}, context_instance=RequestContext(request), )
def all_pages_view(request, binder, *args, **kwargs): wiki = binder.lookup(*args, **kwargs) if wiki: pages = wiki.pages.all() else: pages = Page.objects.all() pages = [ page for page in pages if hookset.can_view_page(page, request.user) ] page_name = "All Pages" can_add = hookset.can_create_page(wiki, request.user) return render_to_response("wiki/all.html", { "page_name": page_name, "pages": pages, "can_add": can_add, }, context_instance=RequestContext(request))
def add_page_view(request, binder, *args, **kwargs): wiki = binder.lookup(*args, **kwargs) slug = request.GET.get("slug", "") if not slug: slug = "Page Name" try: if wiki: page = wiki.pages.get(slug=slug) else: page = Page.objects.get(slug=slug) except Page.DoesNotExist: pass else: return HttpResponseRedirect(page.get_edit_url()) if not hookset.can_create_page(wiki, request.user): raise Http404() form = RevisionForm( request.POST if "edit" in request.POST else None, revision=None, ) if form.is_valid(): page = Page.objects.create(wiki=wiki, slug=slug) revision = form.save(commit=False) revision.page = page revision.created_by = request.user revision.created_ip = request.META.get(settings.WIKI_IP_ADDRESS_META_FIELD, request.META.get("REMOTE_ADDR")) revision.parse() revision.save() return HttpResponseRedirect(binder.page_url(wiki, slug)) form.fields["content"].help_text = "" page_name = "Add {0}".format(slug) return render_to_response("wiki/edit.html", { "page_name": page_name, "form": form, "can_delete": False, }, context_instance=RequestContext(request))