Files
@ b05b3893202a
Branch filter:
Location: symposion_app/symposion/cms/views.py - annotation
b05b3893202a
1.4 KiB
text/x-python
bump version
2665fd575869 2665fd575869 b06daba446a6 b06daba446a6 2665fd575869 2665fd575869 b06daba446a6 b06daba446a6 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 b06daba446a6 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 b06daba446a6 2665fd575869 b06daba446a6 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 2665fd575869 | from django.http import Http404
from django.shortcuts import render, redirect
from django.template import RequestContext
from .models import Page
from .forms import PageForm
def can_edit(user):
if user.is_staff or user.is_superuser:
return True
if user.has_perm("cms.change_page"):
return True
return False
def page(request, path):
editable = can_edit(request.user)
try:
page = Page.published.get(path=path)
except Page.DoesNotExist:
if editable:
return redirect("cms_page_edit", path=path)
else:
raise Http404
return render(request, "cms/page_detail.html", {
"page": page,
"editable": editable,
})
def page_edit(request, path):
if not can_edit(request.user):
raise Http404
try:
page = Page.published.get(path=path)
except Page.DoesNotExist:
page = None
if request.method == "POST":
form = PageForm(request.POST, instance=page)
if form.is_valid():
page = form.save(commit=False)
page.path = path
page.save()
return redirect(page)
else:
print form.errors
else:
form = PageForm(instance=page, initial={"path": path})
return render(request, "cms/page_edit.html", {
"path": path,
"form": form
})
|