Merge pull request #2211 from guerler/fix_nondefault_000

[16.04] Fix tool action redirect url for non-default tools
This commit is contained in:
Dannon Baker
2016-04-21 09:10:49 -04:00
7 changed files with 17 additions and 7 deletions
@@ -60,6 +60,13 @@ define(['utils/utils', 'mvc/ui/ui-misc', 'mvc/tool/tool-form-base', 'mvc/tool/to
callback && callback();
return;
}
if ( options.action !== Galaxy.root + 'tool_runner/index' ) {
var $f = $( '<form/>' ).attr( { action: options.action, method: options.method, enctype: options.enctype } );
_.each( job_def.inputs, function( value, key ) { $f.append( $( '<input/>' ).attr( { 'name': key, 'value': value } ) ) } );
$f.hide().appendTo( 'body' ).submit().remove();
callback && callback();
return;
}
Galaxy.emit.debug( 'tool-form::submit()', 'Validation complete.', job_def );
Utils.request({
type : 'POST',
+4 -1
View File
@@ -1693,7 +1693,10 @@ class Tool( object, Dictifiable ):
'job_id' : trans.security.encode_id( job.id ) if job else None,
'job_remap' : self._get_job_remap( job ),
'history_id' : trans.security.encode_id( history.id ),
'display' : self.display_interface
'display' : self.display_interface,
'action' : url_for( self.action ),
'method' : self.method,
'enctype' : self.enctype
})
return tool_model
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"tool-form.js","sources":["../../../src/mvc/tool/tool-form.js"],"names":["define","Utils","Ui","ToolFormBase","ToolTemplate","View","extend","initialize","options","self","this","prototype","call","merge","customize","buttons","execute","execute_btn","Button","icon","tooltip","name","version","title","cls","floating","onclick","wait","portlet","disable","submit","unwait","enable","job_id","job_remap","inputs","label","type","display","ignore","value","help","callback","job_def","tool_id","id","tool_version","data","create","trigger","validate","Galaxy","emit","debug","request","url","root","success","response","$el","empty","append","parent","currHistoryPanel","refreshContents","error","err_data","error_messages","matchResponse","input_id","highlight","modal","show","body","err_msg","Close","hide","job_inputs","batch_n","batch_src","job_input_id","input_value","match","input_field","field_list","input_def","input_list","optional","batch","n","values","length","src"],"mappings":"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"}
{"version":3,"file":"tool-form.js","sources":["../../../src/mvc/tool/tool-form.js"],"names":["define","Utils","Ui","ToolFormBase","ToolTemplate","View","extend","initialize","options","self","this","prototype","call","merge","customize","buttons","execute","execute_btn","Button","icon","tooltip","name","version","title","cls","floating","onclick","wait","portlet","disable","submit","unwait","enable","job_id","job_remap","inputs","label","type","display","ignore","value","help","callback","job_def","tool_id","id","tool_version","data","create","trigger","validate","Galaxy","emit","debug","action","root","$f","$","attr","method","enctype","_","each","key","append","hide","appendTo","remove","request","url","success","response","$el","empty","parent","currHistoryPanel","refreshContents","error","err_data","error_messages","matchResponse","input_id","highlight","modal","show","body","err_msg","Close","job_inputs","batch_n","batch_src","job_input_id","input_value","match","input_field","field_list","input_def","input_list","optional","batch","n","values","length","src"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils","mvc/ui/ui-misc","mvc/tool/tool-form-base","mvc/tool/tool-template"],function(a,b,c,d){var e=c.extend({initialize:function(d){var e=this;c.prototype.initialize.call(this,a.merge({customize:function(a){a.buttons={execute:execute_btn=new b.Button({icon:"fa-check",tooltip:"Execute: "+a.name+" ("+a.version+")",title:"Execute",cls:"ui-button btn btn-primary",floating:"clear",onclick:function(){execute_btn.wait(),e.portlet.disable(),e.submit(a,function(){execute_btn.unwait(),e.portlet.enable()})}})},a.job_id&&a.job_remap&&(a.inputs.rerun_remap_job_id={label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",a.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})}},d))},submit:function(b,c){var e=this,f={tool_id:b.id,tool_version:b.version,inputs:this.data.create()};return this.trigger("reset"),e.validate(f)?(Galaxy.emit.debug("tool-form::submit()","Validation complete.",f),void a.request({type:"POST",url:Galaxy.root+"api/tools",data:f,success:function(a){c&&c(),e.$el.empty().append(d.success(a)),parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(a){if(c&&c(),Galaxy.emit.debug("tool-form::submit","Submission failed.",a),a&&a.err_data){var b=e.data.matchResponse(a.err_data);for(var g in b){e.highlight(g,b[g]);break}}else e.modal.show({title:"Job submission failed",body:a&&a.err_msg||d.error(f),buttons:{Close:function(){e.modal.hide()}}})}})):(Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(c&&c()))},validate:function(a){var b=a.inputs,c=-1,d=null;for(var e in b){var f=b[e],g=this.data.match(e),h=this.field_list[g],i=this.input_list[g];if(g&&i&&h){if(!i.optional&&null==f)return this.highlight(g),!1;if(f&&f.batch){var j=f.values.length,k=j>0&&f.values[0]&&f.values[0].src;if(k)if(null===d)d=k;else if(d!==k)return this.highlight(g,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===c)c=j;else if(c!==j)return this.highlight(g,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains <b>"+j+"</b> selection(s) while a previous field contains <b>"+c+"</b>."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0}});return{View:e}});
define(["utils/utils","mvc/ui/ui-misc","mvc/tool/tool-form-base","mvc/tool/tool-template"],function(a,b,c,d){var e=c.extend({initialize:function(d){var e=this;c.prototype.initialize.call(this,a.merge({customize:function(a){a.buttons={execute:execute_btn=new b.Button({icon:"fa-check",tooltip:"Execute: "+a.name+" ("+a.version+")",title:"Execute",cls:"ui-button btn btn-primary",floating:"clear",onclick:function(){execute_btn.wait(),e.portlet.disable(),e.submit(a,function(){execute_btn.unwait(),e.portlet.enable()})}})},a.job_id&&a.job_remap&&(a.inputs.rerun_remap_job_id={label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",a.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})}},d))},submit:function(b,c){var e=this,f={tool_id:b.id,tool_version:b.version,inputs:this.data.create()};if(this.trigger("reset"),!e.validate(f))return Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(c&&c());if(b.action!==Galaxy.root+"tool_runner/index"){var g=$("<form/>").attr({action:b.action,method:b.method,enctype:b.enctype});return _.each(f.inputs,function(a,b){g.append($("<input/>").attr({name:b,value:a}))}),g.hide().appendTo("body").submit().remove(),void(c&&c())}Galaxy.emit.debug("tool-form::submit()","Validation complete.",f),a.request({type:"POST",url:Galaxy.root+"api/tools",data:f,success:function(a){c&&c(),e.$el.empty().append(d.success(a)),parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(a){if(c&&c(),Galaxy.emit.debug("tool-form::submit","Submission failed.",a),a&&a.err_data){var b=e.data.matchResponse(a.err_data);for(var g in b){e.highlight(g,b[g]);break}}else e.modal.show({title:"Job submission failed",body:a&&a.err_msg||d.error(f),buttons:{Close:function(){e.modal.hide()}}})}})},validate:function(a){var b=a.inputs,c=-1,d=null;for(var e in b){var f=b[e],g=this.data.match(e),h=this.field_list[g],i=this.input_list[g];if(g&&i&&h){if(!i.optional&&null==f)return this.highlight(g),!1;if(f&&f.batch){var j=f.values.length,k=j>0&&f.values[0]&&f.values[0].src;if(k)if(null===d)d=k;else if(d!==k)return this.highlight(g,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===c)c=j;else if(c!==j)return this.highlight(g,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains <b>"+j+"</b> selection(s) while a previous field contains <b>"+c+"</b>."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0}});return{View:e}});
//# sourceMappingURL=../../../maps/mvc/tool/tool-form.js.map