X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ef09ad4c9162eaf913e1a9bb65991b87116e40c0..b3e2782f72e0ca381f3f8c508227ebd7a2ef0c92:/apps/workbench/app/controllers/projects_controller.rb diff --git a/apps/workbench/app/controllers/projects_controller.rb b/apps/workbench/app/controllers/projects_controller.rb index 3302771814..c4600f2c0f 100644 --- a/apps/workbench/app/controllers/projects_controller.rb +++ b/apps/workbench/app/controllers/projects_controller.rb @@ -1,8 +1,8 @@ class ProjectsController < ApplicationController - before_filter :set_share_links, if: -> { defined? @object } + before_filter :set_share_links, if: -> { defined? @object and @object} skip_around_filter :require_thread_api_token, if: proc { |ctrl| Rails.configuration.anonymous_user_token and - %w(show tab_counts).include? ctrl.action_name + %w(show tab_counts public).include? ctrl.action_name } def model_class @@ -65,7 +65,7 @@ class ProjectsController < ApplicationController { :name => 'Subprojects', :filters => [%w(uuid is_a arvados#group)] - } if current_user + } pane_list << { :name => 'Other_objects', @@ -136,7 +136,7 @@ class ProjectsController < ApplicationController item.update_attributes owner_uuid: current_user.uuid @removed_uuids << item.uuid rescue ArvadosApiClient::ApiErrorResponseException => e - if e.message.include? 'collection_owner_uuid_name_unique' + if e.message.include? '_owner_uuid_name_unique' rename_to = item.name + ' removed from ' + (@object.name ? @object.name : @object.uuid) + ' at ' + Time.now.to_s @@ -307,4 +307,11 @@ class ProjectsController < ApplicationController end objects_and_names end + + def public # Yes 'public' is the name of the action for public projects + return render_not_found if not Rails.configuration.anonymous_user_token + @objects = using_specific_api_token Rails.configuration.anonymous_user_token do + Group.where(group_class: 'project').order("updated_at DESC") + end + end end