def create_page(request, page_title): if request.method == "POST": form = PageRevisionForm(request.POST) if form.is_valid(): page, created = Page.objects.get_or_create(title=page_title) form.save(page) messages.success(request, action_messages.get("page_created")) return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title])) else: form = PageRevisionForm() return render_to_response("wiki/create_or_edit_page.jinja", locals())
def revert_page_to_revision(request, page_title, revision_id): page = get_object_or_404(Page, title=page_title) revision = get_object_or_404(Revision, page=page, id=revision_id) if request.method == "POST": form = RevertRevisionForm(request.POST) if form.is_valid(): form.save(page, revision) messages.success(request, action_messages.get("page_reverted") % revision.datetime) return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title])) else: form = RevertRevisionForm() return render_to_response("wiki/revert_page_to_revision.jinja", locals())
def edit_page(request, page_title): page = get_object_or_404(Page, title=page_title) current_revision = page.current form = PageRevisionForm(initial=current_revision.to_dict()) if request.method == "POST": """ do not allow any other changes """ form = PageRevisionForm(request.POST, initial=current_revision.to_dict()) if form.is_valid(): form.save(page) messages.success(request, action_messages.get("page_updated")) return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title])) return render_to_response("wiki/create_or_edit_page.jinja", locals())
def __init__(self, redirect_to='index', message=None): self.redirect_to = reverse_lazy(redirect_to) self.message = message
url(r'^auth/register/', 'register', name='register'), url(r'^auth/logout/', 'logout', name='logout'), ) urlpatterns += patterns( 'main.views.user', url(r'^user/account/$', 'account_settings', name='account_settings'), url(r'^user/profile/(?:(?P<user_id>\d+)(?:/(?P<full_name>[\w\s]*))?/)?$', 'view_profile', name='view_profile'), url(r'^user/profile/update/$', 'profile_settings', name='profile_settings'), ) urlpatterns += patterns('main.views', url(r"^%s$" % settings.INDEX_PAGE_URL, 'index', name='index')) if settings.INDEX_USES_STATIC_VIEW: if settings.INDEX_PAGE_URL != "": urlpatterns += patterns('main.views', url(r"^$", RedirectView.as_view(url=reverse_lazy("index")))) else: urlpatterns += patterns('main.views', url(r"^$", RedirectView.as_view(url=settings.INDEX_PAGE_URL))) urlpatterns += patterns( 'main.views', url(r'^wiki/show_similar_pages/(?P<page_title>\w+)/$', 'show_similar_pages', name='show_similar_pages'), url(r'^wiki/preview_page/$', 'preview_page', name='preview_page'), url(r'^wiki/create_page/(?P<page_title>\w+)/$', 'create_page', name='create_page'), url(r'^wiki/edit_page/(?P<page_title>\w+)/$', 'edit_page', name='edit_page'), url(r'^wiki/list_revisions/(?P<page_title>\w+)/$', 'list_revisions', name='list_revisions'), url(r'^wiki/revert_page_to_revision/(?P<page_title>\w+)/(?P<revision_id>\d+)/$', 'revert_page_to_revision', name='revert_page_to_revision'), url(r"^wiki/recent_changes/$", "recent_changes", name="recent_changes"), url(r'^wiki/show_diff/(?P<page_title>\w+)/$', 'show_diffs', name='show_diffs'),
def get_absolute_url(self): return reverse_lazy("view_page", args=[self.title])