require "arvados/keep"
+require "arvados/collection"
require "uri"
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
-
def update
updated_attr = params[:collection].each.select {|a| a[0].andand.start_with? 'rename-file-path:'}
end
arv_coll = Arv::Collection.new(@object.manifest_text)
- arv_coll.rename "./"+file_path, new_file_path
- if @object.update_attributes manifest_text: arv_coll.manifest_text
- show
- else
+ if arv_coll.exist?(new_file_path)
+ @errors = 'Duplicate file path. Please use a different name.'
self.render_error status: 422
+ else
+ arv_coll.rename "./"+file_path, new_file_path
+
+ if @object.update_attributes manifest_text: arv_coll.manifest_text
+ show
+ else
+ self.render_error status: 422
+ end
end
else
- # Non a file rename; use default
+ # Not a file rename; use default
super
end
end