+
/>
<% if policy(AcquiredMediaRelease).new? %>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :acquired_media_release], class: "btn btn-primary mr-2 mb-2" %>
@@ -10,7 +11,7 @@
<% end %>
<% if @acquired_media_releases.any? && policy(AcquiredMediaRelease).download_multiple? %>
- <%= link_to "Download All", [@project, :contract_downloads, release_type: @acquired_media_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
+ <%= button_to "Download", [@project, :contract_downloads, release_type: @acquired_media_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>
diff --git a/app/views/acquired_media_releases/index.js.erb b/app/views/acquired_media_releases/index.js.erb
index 4bc7e72..4ffebf9 100644
--- a/app/views/acquired_media_releases/index.js.erb
+++ b/app/views/acquired_media_releases/index.js.erb
@@ -1,3 +1,5 @@
$("#acquired_media_releases").html("<%= j render(@acquired_media_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#acquired_media_releases_pagination").html("<%= j will_paginate(@acquired_media_releases) %>");
+$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
+$("#total_entries").val(<%= @acquired_media_releases.total_entries %>);
\ No newline at end of file
diff --git a/spec/jobs/generate_contracts_zip_job_spec.rb b/spec/jobs/generate_contracts_zip_job_spec.rb
index 48e9cfc..3c83eb7 100644
--- a/spec/jobs/generate_contracts_zip_job_spec.rb
+++ b/spec/jobs/generate_contracts_zip_job_spec.rb
@@ -86,34 +86,36 @@ describe GenerateContractsZipJob do
end
it "generates ZIP containing CSV file with all filtered releases data for filtered releases" do
- lowercase_plural = subject.constantize.model_name.plural
- GenerateContractsZipJob.perform_now(project, download, subject, [], '', 'complete')
+ if subject.respond_to?(:complete) && subject.respond_to?(:incomplete)
+ lowercase_plural = subject.constantize.model_name.plural
+ GenerateContractsZipJob.perform_now(project, download, subject, [], '', 'complete')
- complete_releases = project.public_send(lowercase_plural).complete
- incomplete_releases = project.public_send(lowercase_plural).incomplete
+ complete_releases = project.public_send(lowercase_plural).complete
+ incomplete_releases = project.public_send(lowercase_plural).incomplete
- generated_zip = download.file.blob.download
- csv_file_name = "#{project.name.parameterize}_#{lowercase_plural.gsub('_', '-')}.csv"
- Zip::InputStream.open(StringIO.new(generated_zip)) do |io|
- while entry = io.get_next_entry
- next unless entry.name == csv_file_name
+ generated_zip = download.file.blob.download
+ csv_file_name = "#{project.name.parameterize}_#{lowercase_plural.gsub('_', '-')}.csv"
+ Zip::InputStream.open(StringIO.new(generated_zip)) do |io|
+ while entry = io.get_next_entry
+ next unless entry.name == csv_file_name
- csv_file = entry.get_input_stream.read
+ csv_file = entry.get_input_stream.read
- release_class = Object.const_get subject
- release_headers = release_class.csv_headers
+ release_class = Object.const_get subject
+ release_headers = release_class.csv_headers
- release_headers.each do |header|
- expect(csv_file).to match header
- expect(csv_file).not_to match translation_missing
- end
+ release_headers.each do |header|
+ expect(csv_file).to match header
+ expect(csv_file).not_to match translation_missing
+ end
- complete_releases.each do |release|
- expect(csv_file).to match release.person_first_name
- end
+ complete_releases.each do |release|
+ expect(csv_file).to match release.person_first_name
+ end
- incomplete_releases.each do |release|
- expect(csv_file).not_to match release.person_first_name
+ incomplete_releases.each do |release|
+ expect(csv_file).not_to match release.person_first_name
+ end
end
end
end
@@ -164,10 +166,13 @@ describe GenerateContractsZipJob do
end
context "generates ZIP for acquired media releases" do
- let(:release) { create(:acquired_media_release_with_contract_template, :native, project: project) }
+ let(:release) { create(:acquired_media_release_with_contract_template, :native, project: project, person_name: "John Doe") }
+ let(:release2) { create(:acquired_media_release_with_contract_template, :native, project: project, person_name: "Jane Doe") }
+ let(:release3) { create(:acquired_media_release_with_contract_template, :native, project: project, person_name: "Brad Doe") }
subject { 'AcquiredMediaRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
+ it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for appearance releases" do