From 8cf40fb169e80dd7f231fe8f3307f9afc8d4825f Mon Sep 17 00:00:00 2001 From: Mason Ballengee Date: Fri, 7 Jun 2024 10:43:12 -0400 Subject: [PATCH] Add transcript language edit to UI --- app/assets/stylesheets/avalon.scss | 2 +- app/models/supplemental_file.rb | 2 +- .../_supplemental_files_list.html.erb | 21 ++++++++++++------- config/settings.yml | 1 + 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/assets/stylesheets/avalon.scss b/app/assets/stylesheets/avalon.scss index c22e44685b..2a686d88f2 100644 --- a/app/assets/stylesheets/avalon.scss +++ b/app/assets/stylesheets/avalon.scss @@ -978,7 +978,7 @@ h5.card-title { height: 25px; } - &.captions { + &.captions, &.transcripts { div.supplemental-file-data.is-editing:last-child { margin-bottom: 1.75rem; } diff --git a/app/models/supplemental_file.rb b/app/models/supplemental_file.rb index 25a2473740..9fa49aa74f 100644 --- a/app/models/supplemental_file.rb +++ b/app/models/supplemental_file.rb @@ -41,7 +41,7 @@ def attach_file(new_file) extension = File.extname(new_file.original_filename) self.file.content_type = Mime::Type.lookup_by_extension(extension.slice(1..-1)).to_s if extension == '.srt' self.label = file.filename.to_s if label.blank? - self.language = tags.include?('caption') ? Settings.caption_default.language : 'eng' + self.language = Settings.caption_default.language end def mime_type diff --git a/app/views/media_objects/_supplemental_files_list.html.erb b/app/views/media_objects/_supplemental_files_list.html.erb index a6b6389ac4..0e30ded934 100644 --- a/app/views/media_objects/_supplemental_files_list.html.erb +++ b/app/views/media_objects/_supplemental_files_list.html.erb @@ -15,7 +15,7 @@ Unless required by applicable law or agreed to in writing, software distributed %> <% if section.supplemental_files_json.present? %> <% files=tag.empty? ? section.supplemental_files(tag: nil) : section.supplemental_files(tag: tag) %> -
captions<% end %>"> +
<% if tag == "caption" %>
@@ -40,12 +40,19 @@ Unless required by applicable law or agreed to in writing, software distributed <%= form.text_field :label, id: "supplemental_file_input_#{section.id}_#{file.id}", value: file.label %>
<% if tag == 'transcript' %> - - <%= label_tag "machine_generated_#{file.id}", class: "ml-3" do %> - <%= check_box_tag "machine_generated_#{file.id}", '1', file.machine_generated? %> - Machine Generated - <% end %> - +
+ <%= form.text_field :language, id: "supplemental_file_language_#{section.id}_#{file.id}", value: LanguageTerm.find(file.language).text, + class: "typeahead from-model form-control", + data: { model: 'languageTerm', validate: false } %> +
+
+ + <%= label_tag "machine_generated_#{file.id}", class: "checkbox", style: "white-space: nowrap; padding-left: 0.45rem;" do %> + <%= check_box_tag "machine_generated_#{file.id}", '1', file.machine_generated? %> + Machine Generated + <% end %> + +
<% end %> <% if tag == 'caption' %>
diff --git a/config/settings.yml b/config/settings.yml index 072e366f8c..d8a81d3f4e 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -106,6 +106,7 @@ controlled_digital_lending: # Choose whether every collection has CDL enabled or disabled by default collections_enabled: false default_lending_period: 'P14D' # ISO8601 duration format: P14D == 14.days, PT8H == 8.hours, etc. +# Caption default field also sets the default language information for transcript files caption_default: # Language should be 3 letter ISO 639-2 code language: 'eng'