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 tool_shed.webapp.framework.decorators
import logging
from functools import wraps
from galaxy.web.framework import url_for
log = logging.getLogger(__name__)
[docs]def require_login(verb="perform this action", use_panels=False):
def argcatcher(func):
@wraps(func)
def decorator(self, trans, *args, **kwargs):
if trans.get_user():
return func(self, trans, *args, **kwargs)
else:
return trans.show_error_message(
'You must be <a target="galaxy_main" href="{}">logged in</a> to {}.'.format(
url_for(controller="user", action="login"), verb
),
use_panels=use_panels,
)
return decorator
return argcatcher