Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.webapps.galaxy.controllers.page

from galaxy import web
from galaxy.managers.pages import get_page
from galaxy.model.db.user import get_user_by_username
from galaxy.structured_app import StructuredApp
from galaxy.webapps.base.controller import (
    BaseUIController,
    SharableItemSecurityMixin,
    SharableMixin,
)


[docs] class PageController(BaseUIController, SharableMixin, SharableItemSecurityMixin):
[docs] def __init__(self, app: StructuredApp): super().__init__(app)
def _display_by_username_and_slug(self, trans, username, slug, **kwargs): """Display page based on a username and slug.""" # Get page. user = get_user_by_username(trans.sa_session, username) page = get_page(trans.sa_session, user, slug) if page is None: raise web.httpexceptions.HTTPNotFound() # Security check raises error if user cannot access page. self.security_check(trans, page, False, True) # Encode page identifier. page_id = trans.security.encode_id(page.id) # Redirect to client. return trans.response.send_redirect( web.url_for( controller="published", action="page", id=page_id, ) )