end
end
+ def copy_items
+ move_or_copy_project_items :copy
+ end
+
def move_items
- target_uuid = params['target']
- uuids_to_add = session[:selected_move_items]
+ move_or_copy_project_items :move
+ end
- uuids_to_add.
- collect { |x| ArvadosBase::resource_class_for_uuid(x) }.
- uniq.
- each do |resource_class|
- resource_class.filter([['uuid','in',uuids_to_add]]).each do |dst|
- if resource_class == Collection and not Collection.attribute_info.include?(:name)
- 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
- dst.save!
- end
- end
- session[:selected_move_items] = nil
+ def move_or_copy_project_items action
+ uuids_to_add = session[:selected_move_or_copy_items]
+ move_or_copy_items action, uuids_to_add, params['target']
+ session[:selected_move_or_copy_items] = nil
redirect_to @object
end
objects_and_names << [object, @name_link_for[object.uuid]]
elsif object.respond_to? :name
objects_and_names << [object, object]
- else
+ elsif not Collection.attribute_info.include?(:name)
objects_and_names << [object,
Link.new(owner_uuid: @object.uuid,
tail_uuid: @object.uuid,