diff options
author | 2018-04-04 16:09:05 +0100 | |
---|---|---|
committer | 2018-04-04 16:09:05 +0100 | |
commit | 1d1e17f7f19203d449c8641794cd2c61705fdcd2 (patch) | |
tree | 63640306e93059a181b2af04952b0403c38ef8ee /pysite/views/wiki/edit.py | |
parent | CSRF error route doesn't do shit, sadly (diff) |
Early wiki work including a WS test route for RST parsing
Diffstat (limited to 'pysite/views/wiki/edit.py')
-rw-r--r-- | pysite/views/wiki/edit.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py index 5c914c16..fac5532e 100644 --- a/pysite/views/wiki/edit.py +++ b/pysite/views/wiki/edit.py @@ -1,13 +1,25 @@ # coding=utf-8 +from flask import url_for +from werkzeug.utils import redirect + from pysite.base_route import RouteView from pysite.constants import ALL_STAFF_ROLES -from pysite.decorators import require_roles +from pysite.decorators import require_roles, csrf +from pysite.mixins import DBMixin -class EditView(RouteView): +class EditView(RouteView, DBMixin): path = "/edit/<path:page>" # "path" means that it accepts slashes name = "edit" + table_name = "wiki" + table_primary_key = "slug" + @require_roles(*ALL_STAFF_ROLES) def get(self, page): - return self.render("staff/staff.html") + return self.render("wiki/page_edit.html", page=page) + + @require_roles(*ALL_STAFF_ROLES) + @csrf + def post(self, page): + return redirect(url_for("wiki.page", page=page), code=303) # Redirect, ensuring a GET |