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