11308: Merge branch 'master' into 11308-python3
[arvados.git] / services / api / app / controllers / arvados / v1 / collections_controller.rb
index 33b7a2dd4eecf86400803ebbcc841f1f2719654f..2beb1e714d7c3fd1af64731c9023b989caa9ed14 100644 (file)
@@ -16,7 +16,7 @@ class Arvados::V1::CollectionsController < ApplicationController
   end
 
   def find_objects_for_index
-    if params[:include_trash] || action_name == 'destroy'
+    if params[:include_trash] || ['destroy', 'trash'].include?(action_name)
       @objects = Collection.unscoped.readable_by(*@read_users)
     end
     super
@@ -40,6 +40,8 @@ class Arvados::V1::CollectionsController < ApplicationController
 
   def show
     if @object.is_a? Collection
+      # Omit unsigned_manifest_text
+      @select ||= model_class.selectable_attributes - ["unsigned_manifest_text"]
       super
     else
       send_json @object
@@ -58,6 +60,13 @@ class Arvados::V1::CollectionsController < ApplicationController
     show
   end
 
+  def trash
+    if !@object.is_trashed
+      @object.update_attributes!(trash_at: db_current_time)
+    end
+    show
+  end
+
   def find_collections(visited, sp, &b)
     case sp
     when ArvadosModel
@@ -205,8 +214,8 @@ class Arvados::V1::CollectionsController < ApplicationController
   def load_limit_offset_order_params *args
     super
     if action_name == 'index'
-      # Omit manifest_text from index results unless expressly selected.
-      @select ||= model_class.selectable_attributes - ["manifest_text"]
+      # Omit manifest_text and unsigned_manifest_text from index results unless expressly selected.
+      @select ||= model_class.selectable_attributes - ["manifest_text", "unsigned_manifest_text"]
     end
   end
 end