X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dbdd94518d916b89f8e3a3fa0901da21a2493962..cfe592f00c6ced698a65b64317d200f1761c9456:/apps/workbench/app/controllers/actions_controller.rb diff --git a/apps/workbench/app/controllers/actions_controller.rb b/apps/workbench/app/controllers/actions_controller.rb index e6ef6eb894..58b8cdc54f 100644 --- a/apps/workbench/app/controllers/actions_controller.rb +++ b/apps/workbench/app/controllers/actions_controller.rb @@ -2,6 +2,14 @@ require "arvados/collection" class ActionsController < ApplicationController + # Skip require_thread_api_token if this is a show action + # for an object uuid that supports anonymous access. + skip_around_filter :require_thread_api_token, if: proc { |ctrl| + Rails.configuration.anonymous_user_token and + 'show' == ctrl.action_name and + params['uuid'] and + model_class.in?([Collection, Group, Job, PipelineInstance, PipelineTemplate]) + } skip_filter :require_thread_api_token, only: [:report_issue_popup, :report_issue] skip_filter :check_user_agreements, only: [:report_issue_popup, :report_issue] @@ -21,6 +29,8 @@ class ActionsController < ApplicationController @object.link_class == 'name' and ArvadosBase::resource_class_for_uuid(@object.head_uuid) == Collection redirect_to collection_path(id: @object.uuid) + elsif @object.is_a?(Group) and @object.group_class == 'project' + redirect_to project_path(id: @object.uuid) elsif @object redirect_to @object else @@ -91,7 +101,8 @@ class ActionsController < ApplicationController end if (resource_classes == [Collection] and @object.is_a? Group and - @object.group_class == 'project') + @object.group_class == 'project') or + @object.is_a? User # In the common case where only collections are copied/moved # into a project, it's polite to land on the collections tab on # the destination project.