Ejemplo n.º 1
0
from django.conf import settings
from django.shortcuts import render_to_response, get_object_or_404
from django.template.context import RequestContext
from django.http import HttpResponseRedirect, HttpResponseBadRequest,\
    HttpResponseForbidden, Http404
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext, ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist

from wakawaka import get_wikipage_model, get_revision_model, get_wiki_app_name
from wakawaka.forms import WikiPageForm, DeleteWikiPageForm

__all__ = ['index', 'page', 'edit', 'revisions', 'changes', 'revision_list', 'page_list']

wiki_app_name = get_wiki_app_name()
revision_model = get_revision_model()
wikipage_model = get_wikipage_model()
revision_model_name = revision_model.__name__.lower()
wikipage_model_name = wikipage_model.__name__.lower()

def index(request, template_name='wakawaka/page.html', extra_context={}):
    '''
    Redirects to the default wiki index name.
    '''
    index_slug = getattr(settings, 'WAKAWAKA_DEFAULT_INDEX', 'WikiIndex')
    return HttpResponseRedirect(reverse('wakawaka_page', kwargs={'slug': index_slug}))

def page(request, slug, rev_id=None, template_name='wakawaka/page.html', extra_context={}):
    '''
    Displays a wiki page. Redirects to the edit view if the page doesn't exist.
    '''
Ejemplo n.º 2
0
from django.contrib import admin

from wakawaka import get_wikipage_model, get_revision_model
from wakawaka.models import WikiPage, Revision

class RevisionInlines(admin.TabularInline):
    model = Revision
    extra = 1

class WikiPageAdmin(admin.ModelAdmin):
    inlines = [RevisionInlines]

class RevisionAdmin(admin.ModelAdmin):
    pass

# Only register the default admin if models are built-in models
# (this won't be true if there's a custom wiki app).
if get_wikipage_model() is WikiPage:
    admin.site.register(WikiPage, WikiPageAdmin)
if get_revision_model() is Revision:
    admin.site.register(Revision, RevisionAdmin)