Drag&drop error messages
This commit is contained in:
parent
11c9129002
commit
88acc1f868
@ -392,6 +392,7 @@ class DmsfController < ApplicationController
|
||||
# Move the dragged object to the given destination
|
||||
def drop
|
||||
result = false
|
||||
object = nil
|
||||
if params[:dmsf_folder].present? && params[:dmsf_folder][:drag_id].present? && params[:dmsf_folder][:drop_id].present?
|
||||
if params[:dmsf_folder][:drag_id] =~ /(.+)-(\d+)/
|
||||
type = $1
|
||||
@ -399,22 +400,20 @@ class DmsfController < ApplicationController
|
||||
if params[:dmsf_folder][:drop_id] =~ /^folder.*-(\d+)/
|
||||
case type
|
||||
when 'file'
|
||||
dmsf_file = DmsfFile.find_by(id: id)
|
||||
dmsf_folder = DmsfFolder.find_by(id: $1)
|
||||
if dmsf_file && dmsf_folder
|
||||
result = dmsf_file.move_to(dmsf_file.project, dmsf_folder)
|
||||
end
|
||||
object = DmsfFile.find_by(id: id)
|
||||
when 'folder'
|
||||
dmsf_folder = DmsfFolder.find_by(id: id)
|
||||
if dmsf_folder
|
||||
dmsf_folder.dmsf_folder_id = $1
|
||||
result = dmsf_folder.save
|
||||
end
|
||||
object = DmsfFolder.find_by(id: id)
|
||||
when 'file-link', 'folder-link', 'url-link'
|
||||
dmsf_link = DmsfLink.find_by(id: id)
|
||||
if dmsf_link
|
||||
dmsf_link.dmsf_folder_id = $1
|
||||
result = dmsf_link.save
|
||||
object = DmsfLink.find_by(id: id)
|
||||
end
|
||||
dmsf_folder = DmsfFolder.find_by(id: $1)
|
||||
if object && dmsf_folder
|
||||
if dmsf_folder == object.dmsf_folder
|
||||
object.errors[:base] << l(:error_target_folder_same)
|
||||
elsif object.dmsf_folder.locked_for_user?
|
||||
object.errors[:base] << l(:error_folder_is_locked)
|
||||
else
|
||||
result = object.move_to(dmsf_folder.project, dmsf_folder)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -424,7 +423,13 @@ class DmsfController < ApplicationController
|
||||
if result
|
||||
format.js { head 200 }
|
||||
else
|
||||
format.js { head 422 }
|
||||
format.js {
|
||||
if object
|
||||
flash.now[:error] = object.errors.full_messages.to_sentence
|
||||
else
|
||||
head 422
|
||||
end
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -240,10 +240,12 @@ class DmsfFile < ActiveRecord::Base
|
||||
def move_to(project, folder)
|
||||
if locked_for_user?
|
||||
errors[:base] << l(:error_file_is_locked)
|
||||
Rails.logger.error l(:error_file_is_locked)
|
||||
return false
|
||||
end
|
||||
unless last_revision
|
||||
errors[:base] << l(:error_at_least_one_revision_must_be_present)
|
||||
Rails.logger.error l(:error_at_least_one_revision_must_be_present)
|
||||
return false
|
||||
end
|
||||
source = "#{project.identifier}:#{dmsf_path_str}"
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
dataType: 'script',
|
||||
data: data,
|
||||
error: function(jqXHR, textStatus, errorThrown){
|
||||
alert(textStatus + " " + jqXHR.status);
|
||||
alert(errorThrown);
|
||||
ui.draggable.animate(ui.draggable.data("ui-draggable").originalPosition, "slow");
|
||||
},
|
||||
complete: function(jqXHR, textStatus, errorThrown){
|
||||
@ -85,6 +85,7 @@
|
||||
}
|
||||
ui.draggable.remove();
|
||||
}
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@ -20,8 +20,4 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
%>
|
||||
|
||||
var modal = $('#ajax-modal');
|
||||
|
||||
modal.html("<%= escape_javascript(render partial: 'dmsf/add_email') %>");
|
||||
showModal('ajax-modal', '400px');
|
||||
modal.addClass('new-user');
|
||||
throw new Error("<%= j flash[:error] %>");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user