diff --git a/lib/galaxy/webapps/galaxy/api/tool_dependencies.py b/lib/galaxy/webapps/galaxy/api/tool_dependencies.py index 7e31996e1f6..116c2188649 100644 --- a/lib/galaxy/webapps/galaxy/api/tool_dependencies.py +++ b/lib/galaxy/webapps/galaxy/api/tool_dependencies.py @@ -21,7 +21,7 @@ class ToolDependenciesAPIController( BaseAPIController ): @expose_api @require_admin - def index(self, trans): + def index(self, trans, **kwd): """ GET /api/dependencies_resolvers """ @@ -71,6 +71,8 @@ class ToolDependenciesAPIController( BaseAPIController ): """ return self._view.resolver_dependency(id, **kwds) + @expose_api + @require_admin def manager_dependency(self, trans, **kwds): """ GET /api/dependencies_resolvers/dependency diff --git a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py index 068e8806429..92ffd7d5ff7 100644 --- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py +++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py @@ -30,6 +30,7 @@ from tool_shed.util import tool_dependency_util from tool_shed.util import tool_util from tool_shed.util import workflow_util from tool_shed.util.web_util import escape +from galaxy.tools.deps import views log = logging.getLogger( __name__ ) @@ -754,11 +755,14 @@ class AdminToolshed( AdminGalaxy ): repository=repository, reinstalling=False, required_repo_info_dicts=None ) + view = views.DependencyResolversView(self.app) + resolver_dependency_dict = view.manager_dependency(name=name) return trans.fill_template( '/admin/tool_shed_repository/manage_repository.mako', repository=repository, description=description, repo_files_dir=repo_files_dir, containers_dict=containers_dict, + resolver_dependency_dict=resolver_dependency_dict, message=message, status=status ) diff --git a/templates/admin/tool_shed_repository/manage_repository.mako b/templates/admin/tool_shed_repository/manage_repository.mako index d474fc2727a..40940e1e71e 100644 --- a/templates/admin/tool_shed_repository/manage_repository.mako +++ b/templates/admin/tool_shed_repository/manage_repository.mako @@ -76,6 +76,7 @@ ${render_galaxy_repository_actions( repository )}

+${render_resolver_dependency_items(resolver_dependency_dict )} %if not in_error_state: ${render_repository_items( repository.metadata, containers_dict, can_set_metadata=False, render_repository_actions_for='galaxy' )} %endif diff --git a/templates/webapps/tool_shed/repository/common.mako b/templates/webapps/tool_shed/repository/common.mako index c7d3cb7d161..5a94d3a977a 100644 --- a/templates/webapps/tool_shed/repository/common.mako +++ b/templates/webapps/tool_shed/repository/common.mako @@ -1071,6 +1071,46 @@ %> +<%def name="render_tool_dependency_resolver( resolver_dependencies )"> + + + + %if resolver_dependencies['model_class'] == 'NullDependency': + + + + %else: + + + + + + + + + + + + + %endif +
Dependency was not resolved by any resolver module.
Dependency Resolver ${resolver_dependencies['model_class'] | h}
Exact ${resolver_dependencies['exact'] | h}
Dependency Type ${resolver_dependencies['dependency_type'] | h}
+ + + + +<%def name="render_resolver_dependency_items( resolver_dependencies )"> + %if resolver_dependencies: +

+
Dependency Resolver Details
+
+ + ${render_tool_dependency_resolver( resolver_dependencies)} +
+
+
+ %endif + + <%def name="render_repository_items( metadata, containers_dict, can_set_metadata=False, render_repository_actions_for='tool_shed' )"> <% from tool_shed.util.encoding_util import tool_shed_encode