X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/cef70f92c560353b8800affba9211382b7920815..edebf116a9f743a7a276d514c4cbad72c3406922:/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 785773688d..9f4c588775 100644 --- a/apps/workbench/app/controllers/projects_controller.rb +++ b/apps/workbench/app/controllers/projects_controller.rb @@ -3,6 +3,31 @@ class ProjectsController < ApplicationController Group end + def find_object_by_uuid + if current_user and params[:uuid] == current_user.uuid + @object = current_user.dup + @object.uuid = current_user.uuid + class << @object + def name + 'Home' + end + def description + '' + end + def attribute_editable? attr, *args + case attr + when 'description', 'name' + false + else + super + end + end + end + else + super + end + end + def index_pane_list %w(Projects) end @@ -62,25 +87,20 @@ class ProjectsController < ApplicationController each do |resource_class| resource_class.filter([['uuid','in',uuids_to_add]]).each do |dst| if resource_class == Collection - dst = Link.new(owner_uuid: target_object.uuid, - tail_uuid: target_object.uuid, - head_uuid: target_uuid, + dst = Link.new(owner_uuid: target_uuid, + tail_uuid: target_uuid, + head_uuid: dst.uuid, link_class: 'name', name: target_uuid) else dst.owner_uuid = target_uuid dst.tail_uuid = target_uuid if dst.class == Link end - begin - dst.save! - rescue - dst.name += " (#{Time.now.localtime})" if dst.respond_to? :name= - dst.save! - end + dst.save! end end session[:selected_move_items] = nil - redirect_to controller: 'projects', action: :show, id: target_uuid + redirect_to @object end def destroy @@ -123,13 +143,15 @@ class ProjectsController < ApplicationController @groups = Group.limit(10000). select(["uuid", "name", "description"]) - begin - @share_links = Link.permissions_for(@object) - @user_is_manager = true - rescue ArvadosApiClient::AccessForbiddenException, - ArvadosApiClient::NotFoundException - @share_links = [] - @user_is_manager = false + @user_is_manager = false + @share_links = [] + if @object.uuid != current_user.uuid + begin + @share_links = Link.permissions_for(@object) + @user_is_manager = true + rescue ArvadosApiClient::AccessForbiddenException, + ArvadosApiClient::NotFoundException + end end @objects_and_names = get_objects_and_names @objects