end
end
- def move_items
- target_uuid = params['target']
- uuids_to_add = session[:selected_move_items]
-
- 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
- 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
- redirect_to @object
- end
-
def destroy
while (objects = Link.filter([['owner_uuid','=',@object.uuid],
['tail_uuid','=',@object.uuid]])).any?
@next_page_href = next_page_href(partial: :contents_rows)
end
- uuids = @objects.map { |ob| ob.uuid }
- @object_tags = {}
- Link.limit(uuids.length*20).filter([["head_uuid", "in", uuids], ["link_class", "=", "tag"]]).each do |t|
- @object_tags[t.head_uuid] ||= []
- @object_tags[t.head_uuid] << t
- end
+ preload_links_for_objects(@objects.to_a)
end
def show
head_uuid: object.uuid,
link_class: "name",
name: "")]
+
end
end
objects_and_names