diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py index e965c1f4173..4eff947c9da 100644 --- a/lib/galaxy/tools/parameters/basic.py +++ b/lib/galaxy/tools/parameters/basic.py @@ -1056,26 +1056,35 @@ class DrillDownSelectToolParameter( SelectToolParameter ): ... ... ''' ) ) >>> print p.get_html() -
tag set, which requires the file to exist in a location
+ that can be found.
if invalid_tool_configs:
metadata_dict[ 'invalid_tools' ] = invalid_tool_configs
+ """
return metadata_dict, invalid_files
def set_repository_metadata( trans, id, changeset_revision, content_alert_str='', **kwd ):
"""Set repository metadata"""
diff --git a/lib/galaxy/webapps/community/controllers/repository.py b/lib/galaxy/webapps/community/controllers/repository.py
index 20ecc6daad5..d5bdab21a70 100644
--- a/lib/galaxy/webapps/community/controllers/repository.py
+++ b/lib/galaxy/webapps/community/controllers/repository.py
@@ -400,6 +400,40 @@ class RepositoryController( BaseUIController, ItemRatings ):
# Render the list view
return self.valid_repository_list_grid( trans, **kwd )
@web.expose
+ def browse_invalid_tools( self, trans, **kwd ):
+ params = util.Params( kwd )
+ message = util.restore_text( params.get( 'message', '' ) )
+ status = params.get( 'status', 'done' )
+ webapp = params.get( 'webapp', 'community' )
+ cntrller = params.get( 'cntrller', 'repository' )
+ is_admin = trans.user_is_admin()
+ invalid_tools_dict = odict()
+ if is_admin and cntrller == 'admin':
+ for repository in trans.sa_session.query( trans.model.Repository ) \
+ .filter( trans.model.Repository.table.c.deleted == False ) \
+ .order_by( trans.model.Repository.table.c.name ):
+ for downloadable_revision in repository.downloadable_revisions:
+ metadata = downloadable_revision.metadata
+ invalid_tools = metadata.get( 'invalid_tools', [] )
+ for invalid_tool_config in invalid_tools:
+ invalid_tools_dict[ invalid_tool_config ] = ( repository.id, repository.name, downloadable_revision.changeset_revision )
+ else:
+ for repository in trans.sa_session.query( trans.model.Repository ) \
+ .filter( and_( trans.model.Repository.table.c.deleted == False,
+ trans.model.Repository.table.c.user_id == trans.user.id ) ) \
+ .order_by( trans.model.Repository.table.c.name ):
+ for downloadable_revision in repository.downloadable_revisions:
+ metadata = downloadable_revision.metadata
+ invalid_tools = metadata.get( 'invalid_tools', [] )
+ for invalid_tool_config in invalid_tools:
+ invalid_tools_dict[ invalid_tool_config ] = ( repository.id, repository.name, downloadable_revision.changeset_revision )
+ return trans.fill_template( '/webapps/community/repository/browse_invalid_tools.mako',
+ cntrller=cntrller,
+ invalid_tools_dict=invalid_tools_dict,
+ webapp=webapp,
+ message=message,
+ status=status )
+ @web.expose
def find_workflows( self, trans, **kwd ):
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
@@ -1834,6 +1868,7 @@ class RepositoryController( BaseUIController, ItemRatings ):
break
if found:
break
+ metadata_dict, invalid_files = generate_metadata_for_repository_tip( trans, repository_id, ctx, changeset_revision, repo_dir )
else:
for filename in ctx:
if filename == tool_config:
@@ -1846,7 +1881,7 @@ class RepositoryController( BaseUIController, ItemRatings ):
fh.write( fctx.data() )
fh.close()
break
- metadata_dict, invalid_files = generate_metadata_for_repository_tip( trans, repository_id, ctx, changeset_revision, repo_dir )
+ metadata_dict, invalid_files = generate_metadata_for_changeset_revision( trans, repository_id, ctx, changeset_revision, repo_dir )
for invalid_file_tup in invalid_files:
invalid_tool_config, invalid_msg = invalid_file_tup
if tool_config == invalid_tool_config:
diff --git a/templates/tool_form.mako b/templates/tool_form.mako
index 5ca87b60357..c401e5e0c23 100644
--- a/templates/tool_form.mako
+++ b/templates/tool_form.mako
@@ -32,23 +32,29 @@
});
// For drilldown parameters: add expand/collapse buttons and collapse initially-collapsed elements
- $( 'li ul.toolParameterExpandableCollapsable' ).each( function() {
- var el = $(this),
- parent_li = el.parent('li'),
- sub_ul = el.remove();
-
- parent_li.find( 'span' ).wrapInner( '' ).find( 'a' ).click( function() {
- sub_ul.toggle();
- $(this).html( sub_ul.is(":hidden") ? '[+]' : '[-]' );
+ $( 'div.drilldown-container' ).each( function() {
+ $(this).find('span.form-toggle' ).each( function() {
+ var show_hide_click_elt = $(this);
+ var group_id = show_hide_click_elt.attr('id').substring( 0, show_hide_click_elt.attr('id').lastIndexOf( '-click' ) );
+ $('#' + group_id + '-container').each( function() {
+ var show_hide_elt = $(this);
+ if ( show_hide_click_elt.hasClass( 'toggle-expand' ) ) {
+ show_hide_elt.hide();
+ }
+ show_hide_click_elt.click( function() {
+ if ( show_hide_click_elt.hasClass("toggle") ){
+ show_hide_click_elt.addClass("toggle-expand");
+ show_hide_click_elt.removeClass("toggle");
+ show_hide_elt.slideUp( 'fast' );
+ }
+ else {
+ show_hide_click_elt.addClass("toggle");
+ show_hide_click_elt.removeClass("toggle-expand");
+ show_hide_elt.slideDown( 'fast' );
+ }
+ });
+ });
});
- parent_li.append( sub_ul );
- });
-
- $( 'ul ul.toolParameterExpandableCollapsable' ).each( function(i) {
- var el = $(this);
- if (el.attr("default_state") === "collapsed") {
- el.hide();
- }
});
function checkUncheckAll( name, check ) {
diff --git a/templates/webapps/community/admin/index.mako b/templates/webapps/community/admin/index.mako
index 84c3300a539..8a2a90f0742 100644
--- a/templates/webapps/community/admin/index.mako
+++ b/templates/webapps/community/admin/index.mako
@@ -60,6 +60,9 @@
+
diff --git a/templates/webapps/community/admin/reset_all_repository_metadata.mako b/templates/webapps/community/admin/reset_all_repository_metadata.mako
new file mode 100644
index 00000000000..ba1c6c2e044
--- /dev/null
+++ b/templates/webapps/community/admin/reset_all_repository_metadata.mako
@@ -0,0 +1,19 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+
+ Reset metadata on each change set of the repositories in this tool shed
+
+
+
diff --git a/templates/webapps/community/admin/statistics.mako b/templates/webapps/community/admin/statistics.mako
index b68a64846a1..e9a266a0877 100644
--- a/templates/webapps/community/admin/statistics.mako
+++ b/templates/webapps/community/admin/statistics.mako
@@ -19,7 +19,7 @@
${trans.app.shed_counter.repositories}
- New repositories
+ Empty repositories
${trans.app.shed_counter.new_repositories}
diff --git a/templates/webapps/community/base_panels.mako b/templates/webapps/community/base_panels.mako
index 0f8e5feea13..542e4c7e351 100644
--- a/templates/webapps/community/base_panels.mako
+++ b/templates/webapps/community/base_panels.mako
@@ -117,12 +117,12 @@
## Logo, layered over tabs to be clickable
-
+
diff --git a/templates/webapps/community/index.mako b/templates/webapps/community/index.mako
index 65a984e946d..16c40dc44c6 100644
--- a/templates/webapps/community/index.mako
+++ b/templates/webapps/community/index.mako
@@ -71,6 +71,9 @@
+
%endif
diff --git a/templates/webapps/community/repository/browse_invalid_tools.mako b/templates/webapps/community/repository/browse_invalid_tools.mako
new file mode 100644
index 00000000000..b3a8ef29784
--- /dev/null
+++ b/templates/webapps/community/repository/browse_invalid_tools.mako
@@ -0,0 +1,42 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+
+ %if invalid_tools_dict:
+ Invalid tools - click the tool config file name to see why the tool is invalid
+
+
+
+ Tool config
+ Repository name
+ Changeset revision
+
+ %for invalid_tool_config, repository_tup in invalid_tools_dict.items():
+ <% repository_id, repository_name, changeset_revision = repository_tup %>
+
+
+
+ ${invalid_tool_config}
+
+
+ ${repository_name}
+ ${changeset_revision}
+
+ %endfor
+
+
+
+ %else:
+
+ %if cntrller == 'admin' and trans.user_is_admin():
+ No repositories in this tool shed contain invalid tools.
+ %else:
+ None of your repositories contain invalid tools.
+ %endif
+
+ %endif
+
diff --git a/tools/picard/picard_FastqToSam.xml b/tools/picard/picard_FastqToSam.xml
index 488a7373aa7..9dec7c65edc 100644
--- a/tools/picard/picard_FastqToSam.xml
+++ b/tools/picard/picard_FastqToSam.xml
@@ -4,7 +4,6 @@
java -XX:DefaultMaxRAMFraction=1 -XX:+UseParallelGC
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/picard/FastqToSam.jar"
- --tmpdir "${__new_file_path__}"
FASTQ="${input_fastq1}"
#if str( $input_fastq2) != "None":
FASTQ2="${input_fastq2}"