diff options
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 | 
