diff --git a/app/assets/javascripts/protocols/steps.js.erb b/app/assets/javascripts/protocols/steps.js.erb index 93ca6d6b2..c9e74e682 100644 --- a/app/assets/javascripts/protocols/steps.js.erb +++ b/app/assets/javascripts/protocols/steps.js.erb @@ -593,21 +593,15 @@ animateSpinner(null, false); setupAssetsLoading(); }, - error: function(e) { - $form.after(xhr.responseJSON.html); - var $new_form = $form.next(); - $form.remove(); - - $errInput = $new_form.find(".form-group.has-error") - .first() - .find("input"); - renderFormError(e, $errInput); - - formCallback($form); - applyCancelOnNew(); + error: function(xhr) { + if (xhr.responseJSON['assets.file'] != null) { + $('#new-step-assets-group').addClass('has-error'); + $('#new-step-assets-tab').addClass('has-error'); + $.each(xhr.responseJSON['assets.file'], function(_, value) { + $('#new-step-assets-group').prepend('' + value + ''); + }); + } animateSpinner(null, false); - - TinyMCE.destroyAll(); SmartAnnotation.preventPropagation('.atwho-user-popover'); } }); diff --git a/app/assets/javascripts/sitewide/drag_n_drop.js.erb b/app/assets/javascripts/sitewide/drag_n_drop.js.erb index f585c3aaa..bb79294c2 100644 --- a/app/assets/javascripts/sitewide/drag_n_drop.js.erb +++ b/app/assets/javascripts/sitewide/drag_n_drop.js.erb @@ -26,7 +26,7 @@ $('.panel-step-attachment-new').remove(); _dragNdropAssetsOff(); for(var i = 0; i < droppedFiles.length; i++) { - $('#new-step-assets') + $('#new-step-assets-group') .append(_uploadedAssetPreview(droppedFiles[i], i)) .promise() .done(function() { @@ -49,7 +49,6 @@ var name = 'step[assets_attributes][' + index + '][file]'; fd.append(name, droppedFiles[i]); } - droppedFiles = []; filesValid = true; totalSize = 0; _dragNdropAssetsOff(); diff --git a/app/controllers/steps_controller.rb b/app/controllers/steps_controller.rb index 9b12b30b6..d64dfe1ac 100644 --- a/app/controllers/steps_controller.rb +++ b/app/controllers/steps_controller.rb @@ -96,11 +96,9 @@ class StepsController < ApplicationController status: :ok end else - format.json { - render json: { - html: render_to_string(partial: 'new.html.erb') - }, status: :bad_request - } + format.json do + render json: @step.errors.to_json, status: :bad_request + end end end end diff --git a/app/views/steps/_empty_step.html.erb b/app/views/steps/_empty_step.html.erb index 1882f419b..67f048b13 100644 --- a/app/views/steps/_empty_step.html.erb +++ b/app/views/steps/_empty_step.html.erb @@ -50,9 +50,11 @@ style="display: none" multiple> - <%= f.nested_fields_for :assets do |ff| %> - <%= render "form_assets.html.erb", ff: ff, step: step %> - <% end %> +
+ <%= f.nested_fields_for :assets do |ff| %> + <%= render "form_assets.html.erb", ff: ff, step: step %> + <% end %> +
<%= f.nested_fields_for :tables do |ff| %> diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index a1ecb31c0..e95a80c6f 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -217,6 +217,7 @@ module Paperclip application/vnd.sun.xml.calc.template application/vnd.stardivision.calc application/x-starcalc + application/CDFV2-encrypted )) || # Presentation application (Set[content_type, content_types_from_name].subset? Set.new %w(