diff --git a/app/controllers/works_controller.rb b/app/controllers/works_controller.rb index ee63c8961..c04b03760 100644 --- a/app/controllers/works_controller.rb +++ b/app/controllers/works_controller.rb @@ -108,6 +108,8 @@ def resolve_ark # GET /works/1/edit # only non wizard mode def edit + @new_uploader = params[:new_uploader] == "true" || Rails.env.staging? + @work = Work.find(params[:id]) @work_decorator = WorkDecorator.new(@work, current_user) if validate_modification_permissions(work: @work, @@ -214,6 +216,12 @@ def bibtex send_data bibtex, filename: "#{citation.bibtex_id}.bibtex", type: "text/plain", disposition: "attachment" end + def upload_files + @work = Work.find(params[:id]) + upload_service = WorkUploadsEditService.new(@work, current_user) + upload_service.update_precurated_file_list(params["files"], []) + end + private # Extract the Work ID parameter diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 9df8d67d3..e6654d71b 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -11,6 +11,7 @@ + @@ -31,6 +32,9 @@ // Then the stand-alone JS files can reference this. let pdc = {}; + + + diff --git a/app/views/works/_form.html.erb b/app/views/works/_form.html.erb index d12cbf31c..422123c2d 100644 --- a/app/views/works/_form.html.erb +++ b/app/views/works/_form.html.erb @@ -27,11 +27,19 @@ <%= render(partial: 'works/s3_resources', locals: { edit_mode: true, form: form }) %>
+ + <% if @new_uploader == true %> + +
+ + <% else %> + + <%= form.label("Choose files to attach to this work", for: :pre_curation_uploads_added) %> + <%= form.file_field(:pre_curation_uploads_added, id: "pre_curation_uploads_added", multiple: true) %> + +
+ <% end %>
- <%= form.label("Choose files to attach to this work", for: :pre_curation_uploads_added) %> - <%= form.file_field(:pre_curation_uploads_added, id: "pre_curation_uploads_added", multiple: true) %> - -
<% end %> @@ -50,3 +58,48 @@ <% end %> + + +<% if @new_uploader == true %> + +<% end %> diff --git a/config/routes.rb b/config/routes.rb index 7ae0114a8..76386117a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -60,6 +60,7 @@ resources :works get "/doi/*doi", to: "works#resolve_doi", as: :resolve_doi, format: false get "/ark/*ark", to: "works#resolve_ark", as: :resolve_ark, format: false + post "works/:id/upload-files", to: "works#upload_files", as: :work_upload_files get "upload-snapshots/:work_id", to: "upload_snapshots#edit", as: :edit_upload_snapshot get "upload-snapshots/:id/download", to: "upload_snapshots#download", as: :download_upload_snapshot