From e369d70659f27aa66363b8c1b86be699526641b3 Mon Sep 17 00:00:00 2001 From: Adam Ploshay Date: Mon, 9 Oct 2023 23:42:04 -0400 Subject: [PATCH] [POD-1803] model, view, controller changes for new DFP fields --- app/controllers/application_controller.rb | 1 + app/models/dat_tm.rb | 5 ++++- app/models/digital_file_provenance.rb | 4 ++++ .../_digital_file_provenance.html.erb | 12 ++++++++++++ app/views/responses/digiprov_metadata.xml.builder | 2 ++ app/views/responses/full_metadata.xml.builder | 2 ++ 6 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 2f5dbce5..bd7fbdfd 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -190,6 +190,7 @@ def dp_params :id, :filename, :comment, :date_digitized, :display_date_digitized, :created_by, :speed_used, :signal_chain_id, :volume_units, :tape_fluxivity, :peak, :analog_output_voltage, :stylus_size, :turnover, :rolloff, :noise_reduction, :reference_tone_frequency, + :sample_rate, :digital_to_analog, :rumble_filter, :_destroy] ) end diff --git a/app/models/dat_tm.rb b/app/models/dat_tm.rb index bac7dd32..baf569ca 100644 --- a/app/models/dat_tm.rb +++ b/app/models/dat_tm.rb @@ -4,7 +4,10 @@ class DatTm < ActiveRecord::Base extend TechnicalMetadatumClassModule # TM module constants DIGITAL_PROVENANCE_FILES = ['Digital Master', 'PresInt'] - # PROVENANCE_REQUIREMENTS unchanged from default + PROVENANCE_REQUIREMENTS = TechnicalMetadatumModule::PROVENANCE_REQUIREMENTS.merge({ + sample_rate: false, + digital_to_analog: false + }) TM_FORMAT = ['DAT'] TM_SUBTYPE = false TM_GENRE = :audio diff --git a/app/models/digital_file_provenance.rb b/app/models/digital_file_provenance.rb index 7e702eb7..12e7f65c 100644 --- a/app/models/digital_file_provenance.rb +++ b/app/models/digital_file_provenance.rb @@ -22,6 +22,10 @@ class DigitalFileProvenance < ActiveRecord::Base validate :filename_validation validate :validate_signal_chain + # validation for these? + # sample_rate + # digital_to_analog + default_scope { order(:filename) } # File Uses: diff --git a/app/views/digital_provenance/_digital_file_provenance.html.erb b/app/views/digital_provenance/_digital_file_provenance.html.erb index c09e95a4..d3990b19 100644 --- a/app/views/digital_provenance/_digital_file_provenance.html.erb +++ b/app/views/digital_provenance/_digital_file_provenance.html.erb @@ -43,6 +43,18 @@ <%= f.text_field :speed_used, readonly: !@edit_mode, disabled: dp_na(:speed_used), value: dp_na(:speed_used) ? nil : f.object.speed_used %> + > + Sample Rate<%= dp_requirement(:sample_rate) %> + + <%= f.text_field :sample_rate, readonly: !@edit_mode, disabled: dp_na(:sample_rate), value: dp_na(:sample_rate) ? nil : f.object.sample_rate %> + + + > + Digital to Analog<%= dp_requirement(:speed_used) %> + + <%= f.check_box :digital_to_analog, readonly: !@edit_mode, disabled: dp_na(:digital_to_analog), value: dp_na(:digital_to_analog) ? nil : f.object.digital_to_analog %> + + > Reference Fluxivity (nWb/m)<%= dp_requirement(:tape_fluxivity) %> diff --git a/app/views/responses/digiprov_metadata.xml.builder b/app/views/responses/digiprov_metadata.xml.builder index 6e825433..7b6dc6d1 100644 --- a/app/views/responses/digiprov_metadata.xml.builder +++ b/app/views/responses/digiprov_metadata.xml.builder @@ -69,6 +69,8 @@ xml.pod("xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance") do xml.comment dfp.comment.to_s xml.created_by dfp.created_by.to_s xml.speed_used dfp.speed_used.to_s + xml.sample_rate dfp.sample_rate.to_s + xml.digital_to_analog dfp.digital_to_analog.to_s xml.tape_fluxivity dfp.tape_fluxivity.to_s + (dfp.tape_fluxivity.blank? ? "" : " nWb/m") xml.volume_units dfp.volume_units.to_s + (dfp.volume_units.blank? ? "" : " dB") xml.analog_output_voltage dfp.analog_output_voltage.to_s + (dfp.analog_output_voltage.blank? ? "" : " dBu") diff --git a/app/views/responses/full_metadata.xml.builder b/app/views/responses/full_metadata.xml.builder index 9165e7e0..d28eaa11 100644 --- a/app/views/responses/full_metadata.xml.builder +++ b/app/views/responses/full_metadata.xml.builder @@ -62,6 +62,8 @@ xml.pod("xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance") do xml.comment dfp.comment xml.created_by dfp.created_by xml.speed_used dfp.speed_used + xml.sample_rate dfp.sample_rate + xml.digital_to_analog dfp.digital_to_analog xml.tape_fluxivity dfp.tape_fluxivity xml.volume_units dfp.volume_units xml.analog_output_voltage dfp.analog_output_voltage