projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '3705-keep-blockworklist'
[arvados.git]
/
apps
/
workbench
/
app
/
controllers
/
collections_controller.rb
diff --git
a/apps/workbench/app/controllers/collections_controller.rb
b/apps/workbench/app/controllers/collections_controller.rb
index 010cd220e7d481e5342cc910ec9a67de7df5630c..f87579e3b2570fc48a610ea7c61ae7d3fa5d7fa7 100644
(file)
--- a/
apps/workbench/app/controllers/collections_controller.rb
+++ b/
apps/workbench/app/controllers/collections_controller.rb
@@
-72,10
+72,14
@@
class CollectionsController < ApplicationController
end
def index
end
def index
+ # API server index doesn't return manifest_text by default, but our
+ # callers want it unless otherwise specified.
+ @select ||= Collection.columns.map(&:name)
+ base_search = Collection.select(@select)
if params[:search].andand.length.andand > 0
tags = Link.where(any: ['contains', params[:search]])
if params[:search].andand.length.andand > 0
tags = Link.where(any: ['contains', params[:search]])
- @collections = (
Collection
.where(uuid: tags.collect(&:head_uuid)) |
-
Collection
.where(any: ['contains', params[:search]])).
+ @collections = (
base_search
.where(uuid: tags.collect(&:head_uuid)) |
+
base_search
.where(any: ['contains', params[:search]])).
uniq { |c| c.uuid }
else
if params[:limit]
uniq { |c| c.uuid }
else
if params[:limit]
@@
-90,7
+94,7
@@
class CollectionsController < ApplicationController
offset = 0
end
offset = 0
end
- @collections =
Collection
.limit(limit).offset(offset)
+ @collections =
base_search
.limit(limit).offset(offset)
end
@links = Link.limit(1000).
where(head_uuid: @collections.collect(&:uuid))
end
@links = Link.limit(1000).
where(head_uuid: @collections.collect(&:uuid))
@@
-141,7
+145,7
@@
class CollectionsController < ApplicationController
end
if usable_token.nil?
return # Response already rendered.
end
if usable_token.nil?
return # Response already rendered.
- elsif params[:file].nil? or not
file_in_collection?(coll,
params[:file])
+ elsif params[:file].nil? or not
coll.manifest.has_file?(
params[:file])
return render_not_found
end
opts = params.merge(arvados_api_token: usable_token)
return render_not_found
end
opts = params.merge(arvados_api_token: usable_token)
@@
-273,14
+277,6
@@
class CollectionsController < ApplicationController
return nil
end
return nil
end
- def file_in_collection?(collection, filename)
- target = CollectionsHelper.file_path(File.split(filename))
- collection.files.each do |file_spec|
- return true if (CollectionsHelper.file_path(file_spec) == target)
- end
- false
- end
-
def file_enumerator(opts)
FileStreamer.new opts
end
def file_enumerator(opts)
FileStreamer.new opts
end