From d4de94839e7aabf550686ef3db9d43254ff2e4d7 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Fri, 17 Nov 2017 21:13:23 -0300 Subject: [PATCH] 12519: Moved multisite search to its own URL Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- .../javascripts/components/{collections.js => search.js} | 6 +++--- .../app/assets/javascripts/components/sessions.js | 4 ++-- apps/workbench/app/controllers/collections_controller.rb | 5 +++++ apps/workbench/app/controllers/multisite_controller.rb | 7 +++++++ apps/workbench/app/views/layouts/body.html.erb | 2 +- .../{collections/multisite.html => multisite/search.html} | 2 +- apps/workbench/config/routes.rb | 6 ++++-- 7 files changed, 23 insertions(+), 9 deletions(-) rename apps/workbench/app/assets/javascripts/components/{collections.js => search.js} (98%) create mode 100644 apps/workbench/app/controllers/multisite_controller.rb rename apps/workbench/app/views/{collections/multisite.html => multisite/search.html} (66%) diff --git a/apps/workbench/app/assets/javascripts/components/collections.js b/apps/workbench/app/assets/javascripts/components/search.js similarity index 98% rename from apps/workbench/app/assets/javascripts/components/collections.js rename to apps/workbench/app/assets/javascripts/components/search.js index b1233d0ce8..0e879413ac 100644 --- a/apps/workbench/app/assets/javascripts/components/collections.js +++ b/apps/workbench/app/assets/javascripts/components/search.js @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -window.CollectionsTable = { +window.SearchResultsTable = { maybeLoadMore: function(dom) { var loader = this.loader if (loader.state != loader.READY) @@ -80,7 +80,7 @@ window.CollectionsTable = { }, } -window.CollectionsSearch = { +window.Search = { oninit: function(vnode) { vnode.state.sessionDB = new SessionDB() vnode.state.searchEntered = m.stream() @@ -192,7 +192,7 @@ window.CollectionsSearch = { m('a[href="/sessions"]', 'Add/remove sites'), ]), ]), - m(CollectionsTable, { + m(SearchResultsTable, { loader: vnode.state.loader, }), ], diff --git a/apps/workbench/app/assets/javascripts/components/sessions.js b/apps/workbench/app/assets/javascripts/components/sessions.js index 3d127f1714..3cacc0ad83 100644 --- a/apps/workbench/app/assets/javascripts/components/sessions.js +++ b/apps/workbench/app/assets/javascripts/components/sessions.js @@ -21,8 +21,8 @@ window.SessionsTable = { return m('.container', [ m('p', [ 'You can log in to multiple Arvados sites here, then use the ', - m('a[href="/collections/multisite"]', 'multi-site search'), - ' page to search collections on all sites at once.', + m('a[href="/multisite"]', 'multi-site search'), + ' page to search collections and projects on all sites at once.', ]), m('table.table.table-condensed.table-hover', [ m('thead', m('tr', [ diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb index 779d95c45b..1a69f91496 100644 --- a/apps/workbench/app/controllers/collections_controller.rb +++ b/apps/workbench/app/controllers/collections_controller.rb @@ -324,6 +324,11 @@ class CollectionsController < ApplicationController end end + def multisite + # Legacy URL, redirect to new one. + redirect_to multisite_path + end + protected def find_usable_token(token_list) diff --git a/apps/workbench/app/controllers/multisite_controller.rb b/apps/workbench/app/controllers/multisite_controller.rb new file mode 100644 index 0000000000..c221c6b535 --- /dev/null +++ b/apps/workbench/app/controllers/multisite_controller.rb @@ -0,0 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + +class MultisiteController < ApplicationController + skip_before_filter :find_object_by_uuid +end diff --git a/apps/workbench/app/views/layouts/body.html.erb b/apps/workbench/app/views/layouts/body.html.erb index 15f654596c..9c3e3e9832 100644 --- a/apps/workbench/app/views/layouts/body.html.erb +++ b/apps/workbench/app/views/layouts/body.html.erb @@ -34,7 +34,7 @@ SPDX-License-Identifier: AGPL-3.0 %> <%= target = Rails.configuration.multi_site_search if target == true - target = {controller: 'collections', action: 'multisite'} + target = {controller: 'multisite', action: 'search'} end link_to("Multi-site search", target, {class: 'btn btn-default'}) %> diff --git a/apps/workbench/app/views/collections/multisite.html b/apps/workbench/app/views/multisite/search.html similarity index 66% rename from apps/workbench/app/views/collections/multisite.html rename to apps/workbench/app/views/multisite/search.html index 9b03f10f3d..6bcad0b1ae 100644 --- a/apps/workbench/app/views/collections/multisite.html +++ b/apps/workbench/app/views/multisite/search.html @@ -2,4 +2,4 @@ SPDX-License-Identifier: AGPL-3.0 --> -
+
diff --git a/apps/workbench/config/routes.rb b/apps/workbench/config/routes.rb index fee49c14ce..777d9780d6 100644 --- a/apps/workbench/config/routes.rb +++ b/apps/workbench/config/routes.rb @@ -109,7 +109,7 @@ ArvadosWorkbench::Application.routes.draw do get 'tab_counts', on: :member get 'public', on: :collection end - + resources :search do get 'choose', :on => :collection end @@ -131,9 +131,11 @@ ArvadosWorkbench::Application.routes.draw do match '/_health/ping', to: 'healthcheck#ping', via: [:get] get '/tests/mithril', to: 'tests#mithril' + + get '/multisite', to: 'multisite#search' get '/status', to: 'status#status' - + # Send unroutable requests to an arbitrary controller # (ends up at ApplicationController#render_not_found) match '*a', to: 'links#render_not_found', via: [:get, :post] -- 2.30.2