From b7fec14d2dd12016a52cb0d9f47f308f1b7a8688 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Sun, 8 Dec 2019 13:46:22 -0500 Subject: [PATCH 01/10] Initial conversion of admin 'center' from mako. --- .../galaxy/scripts/components/admin/Home.vue | 156 ++++++++++++++++++ .../galaxy/scripts/entry/admin/AdminRouter.js | 19 ++- .../webapps/galaxy/controllers/admin.py | 13 -- templates/webapps/galaxy/admin/center.mako | 79 --------- 4 files changed, 170 insertions(+), 97 deletions(-) create mode 100644 client/galaxy/scripts/components/admin/Home.vue delete mode 100644 templates/webapps/galaxy/admin/center.mako diff --git a/client/galaxy/scripts/components/admin/Home.vue b/client/galaxy/scripts/components/admin/Home.vue new file mode 100644 index 00000000000..b5e2ddb169c --- /dev/null +++ b/client/galaxy/scripts/components/admin/Home.vue @@ -0,0 +1,156 @@ + + + diff --git a/client/galaxy/scripts/entry/admin/AdminRouter.js b/client/galaxy/scripts/entry/admin/AdminRouter.js index f48519d7844..7da2865b822 100644 --- a/client/galaxy/scripts/entry/admin/AdminRouter.js +++ b/client/galaxy/scripts/entry/admin/AdminRouter.js @@ -9,6 +9,7 @@ import DataTables from "components/admin/DataTables.vue"; import DataTypes from "components/admin/DataTypes.vue"; import Jobs from "components/admin/Jobs.vue"; import Invocations from "components/admin/Invocations.vue"; +import AdminHome from "components/admin/Home.vue"; import DataManagerView from "components/admin/DataManager/DataManagerView.vue"; import DataManagerRouter from "components/admin/DataManager/DataManagerRouter.vue"; import Register from "components/login/Register.vue"; @@ -23,7 +24,7 @@ export const getAdminRouter = (Galaxy, options) => { return Router.extend({ routes: { - "(/)admin(/)": "home", + "(/)admin(/)": "show_home", "(/)admin(/)users": "show_users", "(/)admin(/)users(/)create": "show_users_create", "(/)admin(/)roles": "show_roles", @@ -53,10 +54,18 @@ export const getAdminRouter = (Galaxy, options) => { window.location.reload(); // = window.location.href; }, - home: function() { - this.page - .$("#galaxy_main") - .prop("src", `${galaxyRoot}admin/center?message=${options.message}&status=${options.status}`); + show_home: function() { + //this._display_vue_helper(AdminHome, {propsData: {opts: options}}); + const instance = Vue.extend(AdminHome); + const vm = document.createElement("div"); + this.page.display(vm); + new instance({ + propsData: { + installingRepositoryIds: options.settings.installing_repository_ids, + isRepoInstalled: options.settings.is_repo_installed, + isToolShedInstalled: options.settings.is_tool_shed_installed + } + }).$mount(vm); }, show_users: function() { diff --git a/lib/galaxy/webapps/galaxy/controllers/admin.py b/lib/galaxy/webapps/galaxy/controllers/admin.py index 8dd5ad54242..c4467442f77 100644 --- a/lib/galaxy/webapps/galaxy/controllers/admin.py +++ b/lib/galaxy/webapps/galaxy/controllers/admin.py @@ -906,19 +906,6 @@ class AdminGalaxy(controller.JSAppLauncher, AdminActions, UsesQuotaMixin, QuotaP message=message, status=status) - @web.expose - @web.require_admin - def center(self, trans, **kwd): - message = escape(kwd.get('message', '')) - status = kwd.get('status', 'done') - is_repo_installed = trans.install_model.context.query(trans.install_model.ToolShedRepository).first() is not None - installing_repository_ids = repository_util.get_ids_of_tool_shed_repositories_being_installed(trans.app, as_string=True) - return trans.fill_template('/webapps/galaxy/admin/center.mako', - is_repo_installed=is_repo_installed, - installing_repository_ids=installing_repository_ids, - message=message, - status=status) - @web.legacy_expose_api @web.require_admin def tool_versions_list(self, trans, **kwd): diff --git a/templates/webapps/galaxy/admin/center.mako b/templates/webapps/galaxy/admin/center.mako deleted file mode 100644 index 9ca501692e0..00000000000 --- a/templates/webapps/galaxy/admin/center.mako +++ /dev/null @@ -1,79 +0,0 @@ -<%inherit file="/base.mako"/> -<%namespace file="/message.mako" import="render_msg" /> - -<%def name="title()">Administration - -

Administration

-Please visit the Galaxy administration hub to learn how to keep your Galaxy in best shape. -%if message: - ${render_msg( message, status )} -%else: -

Server

- - -

User Management

- - -

Tool Management

- -%endif From e635ef15f9f34f25b9d826dbac965ffb499181b4 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Tue, 10 Dec 2019 13:36:51 -0500 Subject: [PATCH 02/10] Use router directly here as a stopgap until vue-router replacement of the bbone router here. --- .../galaxy/scripts/components/admin/Home.vue | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/client/galaxy/scripts/components/admin/Home.vue b/client/galaxy/scripts/components/admin/Home.vue index b5e2ddb169c..4e9492e5fa6 100644 --- a/client/galaxy/scripts/components/admin/Home.vue +++ b/client/galaxy/scripts/components/admin/Home.vue @@ -10,32 +10,32 @@