1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/a2cd73dd4f72/
changeset: a2cd73dd4f72
user: dan
date: 2012-03-29 16:24:15
summary: Add require_login and display_interface flags to tools. Add 'everything' target for refresh_frame.
affected #: 3 files
diff -r 5aab033197616ac6d8ca1f14f672f9f3195a56dc -r a2cd73dd4f7284b1d0ffa56235e478d013cc116f lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -636,6 +636,8 @@
self.check_values = True
self.nginx_upload = False
self.input_required = False
+ self.display_interface = True
+ self.require_login = False
# Define a place to keep track of all input parameters. These
# differ from the inputs dictionary in that inputs can be page
# elements like conditionals, but input_params are basic form
@@ -732,6 +734,8 @@
# Useful i.e. when an indeterminate number of outputs are created by
# a tool.
self.force_history_refresh = util.string_as_bool( root.get( 'force_history_refresh', 'False' ) )
+ self.display_interface = util.string_as_bool( root.get( 'display_interface', str( self.display_interface ) ) )
+ self.require_login = util.string_as_bool( root.get( 'require_login', str( self.require_login ) ) )
# Load input translator, used by datasource tools to change
# names/values of incoming parameters
self.input_translator = root.find( "request_param_translation" )
@@ -1337,6 +1341,8 @@
# on the standard run form) or "URL" (a parameter provided by
# external data source tools).
if "runtool_btn" not in incoming and "URL" not in incoming:
+ if not self.display_interface:
+ return 'message.mako', dict( status='info', message="The interface for this tool cannot be displayed", refresh_frames=['everything'] )
return "tool_form.mako", dict( errors={}, tool_state=state, param_values={}, incoming={} )
# Process incoming data
if not( self.check_values ):
@@ -1385,6 +1391,8 @@
state.page += 1
# Fill in the default values for the next page
self.fill_in_new_state( trans, self.inputs_by_page[ state.page ], state.inputs )
+ if not self.display_interface:
+ return 'message.mako', dict( status='info', message="The interface for this tool cannot be displayed", refresh_frames=['everything'] )
return 'tool_form.mako', dict( errors=errors, tool_state=state )
else:
try:
@@ -1397,6 +1405,8 @@
except:
pass
# Just a refresh, render the form with updated state and errors.
+ if not self.display_interface:
+ return 'message.mako', dict( status='info', message="The interface for this tool cannot be displayed", refresh_frames=['everything'] )
return 'tool_form.mako', dict( errors=errors, tool_state=state )
def find_fieldstorage( self, x ):
if isinstance( x, FieldStorage ):
diff -r 5aab033197616ac6d8ca1f14f672f9f3195a56dc -r a2cd73dd4f7284b1d0ffa56235e478d013cc116f lib/galaxy/web/controllers/tool_runner.py
--- a/lib/galaxy/web/controllers/tool_runner.py
+++ b/lib/galaxy/web/controllers/tool_runner.py
@@ -58,6 +58,8 @@
log.error( "index called with tool id '%s' but no such tool exists", tool_id )
trans.log_event( "Tool id '%s' does not exist" % tool_id )
return "Tool '%s' does not exist, kwd=%s " % (tool_id, kwd)
+ if tool.require_login and not trans.user:
+ return trans.response.send_redirect( url_for( controller='user', action='login', cntrller='user', message="You must be logged in to use this tool.", status="info", referer=url_for( controller='/tool_runner', action='index', tool_id=tool_id, **kwd ) ) )
params = util.Params( kwd, sanitize = False ) #Sanitize parameters when substituting into command line via input wrappers
#do param translation here, used by datasource tools
if tool.input_translator:
diff -r 5aab033197616ac6d8ca1f14f672f9f3195a56dc -r a2cd73dd4f7284b1d0ffa56235e478d013cc116f templates/message.mako
--- a/templates/message.mako
+++ b/templates/message.mako
@@ -24,6 +24,9 @@
<%def name="javascripts()">
${parent.javascripts()}
<script type="text/javascript">
+ %if 'everything' in refresh_frames:
+ parent.location.href="${h.url_for( controller='root' )}";
+ %endif
%if 'masthead' in refresh_frames:
## if ( parent.frames && parent.frames.galaxy_masthead ) {
## parent.frames.galaxy_masthead.location.href="${h.url_for( controller='root', action='masthead')}";
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/04ed074ef9d2/
changeset: 04ed074ef9d2
user: dan
date: 2012-03-28 18:05:00
summary: Make ldda.templates_json able to set use_name flag in call to templates_dict.
affected #: 1 file
diff -r 0c6cf4f53c4efad46fe7716587ca5a2dddff049c -r 04ed074ef9d21888bfd68235707b5ec0b9a70a10 lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -1554,8 +1554,8 @@
tmp_dict[ name ] = content[ field[ 'name' ] ]
template_data[template.name] = tmp_dict
return template_data
- def templates_json( self ):
- return simplejson.dumps( self.templates_dict() )
+ def templates_json( self, use_name=False ):
+ return simplejson.dumps( self.templates_dict( use_name=use_name ) )
def get_display_name( self ):
"""
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.