X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e386cf444082ac341978887fb8d2b3b13cbba060..c58a2c83fa6338358962b8161c576e5391d7bf2b:/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 fc29ec2659..59dcbb92bb 100644 --- a/apps/workbench/app/controllers/actions_controller.rb +++ b/apps/workbench/app/controllers/actions_controller.rb @@ -150,7 +150,7 @@ class ActionsController < ApplicationController files.each do |m| mt = chash[m[1]+m[2]].andand.manifest_text if not m[4].nil? and m[4].size > 1 - combined += arv_normalize mt, '--extract', m[4][1..-1] + combined += arv_normalize mt, '--extract', ".#{m[4]}" else combined += mt end @@ -158,6 +158,19 @@ class ActionsController < ApplicationController normalized = arv_normalize combined newc = Collection.new({:manifest_text => normalized}) + newc.name = newc.name || "Collection created at #{Time.now.localtime}" + + # set owner_uuid to current project, provided it is writable + current_project_writable = false + action_data = JSON.parse(params['action_data']) if params['action_data'] + if action_data && action_data['current_project_uuid'] + current_project = Group.find(action_data['current_project_uuid']) rescue nil + if (current_project && current_project.writable_by.andand.include?(current_user.uuid)) + newc.owner_uuid = action_data['current_project_uuid'] + current_project_writable = true + end + end + newc.save! chash.each do |k,v| @@ -170,16 +183,11 @@ class ActionsController < ApplicationController l.save! end - action_data = JSON.parse(params['action_data']) if params['action_data'] - if action_data && action_data['selection_param'].eql?('project') - respond_to do |format| - format.js {render inline: "location.reload();" } - end - else - respond_to do |format| - format.js {redirect_to url_for(controller: 'collections', action: :show, id: newc.uuid)} - end - end + msg = current_project_writable ? + "Created new collection in the project #{current_project.name}." : + "Created new collection in your Home project." + + redirect_to newc, flash: {'message' => msg} end def report_issue_popup