3821: remove selection file in collection file row
authorradhika <radhika@curoverse.com>
Fri, 24 Mar 2017 15:37:00 +0000 (11:37 -0400)
committerradhika <radhika@curoverse.com>
Fri, 24 Mar 2017 15:37:00 +0000 (11:37 -0400)
apps/workbench/app/controllers/collections_controller.rb
apps/workbench/app/views/collections/_show_files.html.erb
apps/workbench/config/routes.rb

index fc7fd885c8bd1f01aab73d650caf777fc082685e..c3777962d09d0b52589d2db6e104a1420b899cf7 100644 (file)
@@ -308,6 +308,19 @@ class CollectionsController < ApplicationController
     end
   end
 
+  def rename_selected_file
+    arv_coll = Arv::Collection.new(@object.manifest_text)
+    source_paths[uuids[0]].each do |p|
+      arv_coll.rename "./"+params[:src], "./"+params[:dst]
+    end
+
+    if @object.update_attributes manifest_text: arv_coll.manifest_text
+      show
+    else
+      self.render_error status: 422
+    end
+  end
+
   protected
 
   def find_usable_token(token_list)
index a363bae00125748dc0f8d7ed53de9ecf225bd337..f7a94fc5eca0abf547d0f52eb68826e2b8b07d77 100644 (file)
                 } %>
             <span>&nbsp;</span>
             <% end %>
+
+            <% if @object.editable? %>
+                <%= link_to({action: 'remove_selected_files', id: @object.uuid, selection: [object.portable_data_hash+'/'+file_path]}, method: :post, remote: true, data: {confirm: "Remove #{file_path}?", toggle: 'tooltip', placement: 'top'}, class: 'btn btn-sm btn-default btn-nodecorate', title: "Remove #{file_path}") do %>
+                  <i class="fa fa-fw fa-trash-o"></i>
+                <% end %>
+            <% end %>
+
         <% if CollectionsHelper::is_image(filename) %>
             <i class="fa fa-fw fa-bar-chart-o"></i> <%= filename %></div>
           <div class="collection_files_inline">
index 0eef73f8ae3d0116ba96ccf8f93f6663fc4204e8..9ea4a3581693ab02455545485940b8b3e4420049 100644 (file)
@@ -88,6 +88,7 @@ ArvadosWorkbench::Application.routes.draw do
     post 'unshare', :on => :member
     get 'choose', on: :collection
     post 'remove_selected_files', on: :member
+    post 'rename_selected_file', on: :member
   end
   get('/collections/download/:uuid/:reader_token/*file' => 'collections#show_file',
       format: false)