diff options
author | 2018-04-09 10:34:00 +0100 | |
---|---|---|
committer | 2018-04-09 10:34:00 +0100 | |
commit | afc30354493ef346138281c4115118b8b0dde01b (patch) | |
tree | 9e3ee401d89a461c2372d6f16aebf6baa6367feb /pysite/views/wiki/page.py | |
parent | Contribs too picky, need new payment logos (diff) | |
parent | Added Python 3 cheat sheet to resources.json (diff) |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'pysite/views/wiki/page.py')
-rw-r--r-- | pysite/views/wiki/page.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pysite/views/wiki/page.py b/pysite/views/wiki/page.py index 01c8fa8a..a7f60f02 100644 --- a/pysite/views/wiki/page.py +++ b/pysite/views/wiki/page.py @@ -1,8 +1,9 @@ # coding=utf-8 from flask import redirect, url_for +from werkzeug.exceptions import NotFound from pysite.base_route import RouteView -from pysite.constants import ALL_STAFF_ROLES +from pysite.constants import DEBUG_MODE, EDITOR_ROLES from pysite.mixins import DBMixin @@ -18,19 +19,21 @@ class PageView(RouteView, DBMixin): if obj is None: if self.is_staff(): - return redirect(url_for("wiki.edit", page=page)) + return redirect(url_for("wiki.edit", page=page, can_edit=False)) - return self.render("wiki/page_missing.html", page=page) - return self.render("wiki/page_view.html", page=page, data=obj) + raise NotFound() + return self.render("wiki/page_view.html", page=page, data=obj, can_edit=self.is_staff()) def is_staff(self): + if DEBUG_MODE: + return True if not self.logged_in: return False roles = self.user_data.get("roles", []) for role in roles: - if role in ALL_STAFF_ROLES: + if role in EDITOR_ROLES: return True return False |