diff --git a/client/src/components/admin/AdminPanel.vue b/client/src/components/admin/AdminPanel.vue
index 3a50897e213c..8853ed812d39 100644
--- a/client/src/components/admin/AdminPanel.vue
+++ b/client/src/components/admin/AdminPanel.vue
@@ -141,11 +141,6 @@ export default {
title: "Manage Dependencies",
route: "/admin/toolbox_dependencies",
},
- {
- id: "admin-link-tool-versions",
- title: "View Lineage",
- route: "/admin/tool_versions",
- },
{
id: "admin-link-error-stack",
title: "View Error Logs",
diff --git a/client/src/components/admin/Home.vue b/client/src/components/admin/Home.vue
index c0a4ced8836e..e4d1ad8c2bb2 100644
--- a/client/src/components/admin/Home.vue
+++ b/client/src/components/admin/Home.vue
@@ -114,12 +114,6 @@
- Select on which repositories you want to reset metadata.
-
-
- View Lineage
-
- - A view of a version lineages for all installed tools. Useful for debugging.
-
diff --git a/client/src/entry/analysis/routes/admin-routes.js b/client/src/entry/analysis/routes/admin-routes.js
index e881d01f9451..377363401307 100644
--- a/client/src/entry/analysis/routes/admin-routes.js
+++ b/client/src/entry/analysis/routes/admin-routes.js
@@ -23,7 +23,6 @@ import adminGroupsGridConfig from "components/Grid/configs/adminGroups";
import adminQuotasGridConfig from "components/Grid/configs/adminQuotas";
import adminRolesGridConfig from "components/Grid/configs/adminRoles";
import adminUsersGridConfig from "components/Grid/configs/adminUsers";
-import Grid from "components/Grid/Grid";
import GridList from "components/Grid/GridList";
import RegisterForm from "components/Login/RegisterForm";
import Toolshed from "components/Toolshed/Index";
@@ -169,13 +168,6 @@ export default [
gridMessage: route.query.message,
}),
},
- {
- path: "tool_versions",
- component: Grid,
- props: {
- urlBase: "admin/tool_versions_list",
- },
- },
// forms
{
path: "form/reset_user_password",
diff --git a/lib/galaxy/webapps/galaxy/controllers/admin.py b/lib/galaxy/webapps/galaxy/controllers/admin.py
index cb4a3b2327d8..4f3a20a30d4b 100644
--- a/lib/galaxy/webapps/galaxy/controllers/admin.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin.py
@@ -15,7 +15,6 @@
)
from galaxy.exceptions import ActionInputError
from galaxy.managers.quotas import QuotaManager
-from galaxy.model import tool_shed_install as install_model
from galaxy.model.base import transaction
from galaxy.model.index_filter_util import (
raw_text_column_filter,
@@ -355,52 +354,6 @@ def apply_query_filter(self, query, **kwargs):
return query
-class ToolVersionListGrid(grids.Grid):
- class ToolIdColumn(grids.TextColumn):
- def get_value(self, trans, grid, tool_version):
- toolbox = trans.app.toolbox
- if toolbox.has_tool(tool_version.tool_id, exact=True):
- link = url_for(controller="tool_runner", tool_id=tool_version.tool_id)
- link_str = f''
- return f'{link_str}{tool_version.tool_id}
'
- return tool_version.tool_id
-
- class ToolVersionsColumn(grids.TextColumn):
- def get_value(self, trans, grid, tool_version):
- tool_ids_str = ""
- toolbox = trans.app.toolbox
- if tool := toolbox._tools_by_id.get(tool_version.tool_id):
- for tool_id in tool.lineage.tool_ids:
- if toolbox.has_tool(tool_id, exact=True):
- link = url_for(controller="tool_runner", tool_id=tool_id)
- link_str = f''
- tool_ids_str += f'{link_str}{tool_id}
'
- else:
- tool_ids_str += f"{tool_version.tool_id}
"
- else:
- tool_ids_str += f"{tool_version.tool_id}
"
- return tool_ids_str
-
- # Grid definition
- title = "Tool versions"
- model_class = install_model.ToolVersion
- default_sort_key = "tool_id"
- columns = [
- ToolIdColumn("Tool id", key="tool_id", attach_popup=False),
- ToolVersionsColumn("Version lineage by tool id (parent/child ordered)"),
- ]
- columns.append(
- grids.MulticolFilterColumn(
- "Search tool id", cols_to_filter=[columns[0]], key="free-text-search", visible=False, filterable="standard"
- )
- )
- num_rows_per_page = 50
- use_paging = True
-
- def build_initial_query(self, trans, **kwd):
- return trans.install_model.context.query(self.model_class)
-
-
# TODO: Convert admin UI to use the API and drop this.
class DatatypesEntryT(TypedDict):
status: str
@@ -414,7 +367,6 @@ class AdminGalaxy(controller.JSAppLauncher):
role_list_grid = RoleListGrid()
group_list_grid = GroupListGrid()
quota_list_grid = QuotaListGrid()
- tool_version_list_grid = ToolVersionListGrid()
def __init__(self, app: StructuredApp):
super().__init__(app)
@@ -688,11 +640,6 @@ def impersonate(self, trans, **kwd):
web.url_for(controller="admin", action="users", message="Invalid user selected", status="error")
)
- @web.legacy_expose_api
- @web.require_admin
- def tool_versions_list(self, trans, **kwd):
- return self.tool_version_list_grid(trans, **kwd)
-
@web.expose
@web.json
@web.require_admin