def content(self, page): plugins = [] for pl_name, pl_code in ComponentInterface.plugins_and_names(fullname=False, lowercase=True): if pl_name != self.__class__.__name__: pl_title = "Unknown plugin" if hasattr(pl_code, "title"): pl_title = pl_code.title() if hasattr(pl_code, "admin"): plugins.append((pl_name, pl_title, pl_code.admin())) return Template.text_by_path(page.template, {"plugins": plugins})
def get(self, request): if "url" not in request.params or not request.params["url"]: request.params["url"] = "" page = Page.get_by(url=request.params["url"]) if not page: return None # print request.user, request.user.has_access(page) if not request.user: if page.has_permissions(): return RedirectResponse("/login?next=/") else: if not request.user.has_access(page): return Forbidden("You don't have permission'") content = ComponentInterface.plugin(page.plugin.name, fullname=False, ignorecase=True).content(page) return Response(content)
def post(self, request): context = {} page = HtmlPage(plugin=Plugin.get_by(name=u"HtmlPageComponent"), title=request.form["title"], url=request.form["url"], template="htmlpagecomponent/user/" + request.form["template"]) session.commit() return Response(ComponentInterface.plugin(u"HtmlPageComponent", fullname=False, ignorecase=True).html(page))