diff --git a/app/models/media_object.rb b/app/models/media_object.rb index e9e7085248..a9fd19947d 100644 --- a/app/models/media_object.rb +++ b/app/models/media_object.rb @@ -496,4 +496,9 @@ def sections_with_files(tag: '*') # TODO: Optimize this into a single solr query? section_ids.select { |m| SpeedyAF::Proxy::MasterFile.find(m).supplemental_files(tag: tag).present? } end + + def sections_with_rendering_files?(tags) + tags.any? { |t| sections_with_files(tag: t).present? } + end + end diff --git a/app/presenters/speedy_af/proxy/media_object.rb b/app/presenters/speedy_af/proxy/media_object.rb index 308d1ddd4a..260a7a1c08 100644 --- a/app/presenters/speedy_af/proxy/media_object.rb +++ b/app/presenters/speedy_af/proxy/media_object.rb @@ -144,6 +144,10 @@ def sections_with_files(tag: '*') sections.select { |master_file| master_file.supplemental_files(tag: tag).present? }.map(&:id) end + def sections_with_rendering_files?(tags) + tags.any? { |t| sections_with_files(tag: t).present? } + end + def permalink_with_query(query_vars = {}) val = permalink if val && query_vars.present? diff --git a/app/views/media_objects/_item_view.html.erb b/app/views/media_objects/_item_view.html.erb index 40bbec1a19..158fc6363b 100644 --- a/app/views/media_objects/_item_view.html.erb +++ b/app/views/media_objects/_item_view.html.erb @@ -48,7 +48,7 @@ Unless required by applicable law or agreed to in writing, software distributed timeline: { canCreate: (current_ability.can? :create, Timeline), content: lending_enabled?(@media_object) ? (render('timeline') if can_stream) : render('timeline') }, playlist: { canCreate: (current_ability.can? :create, Playlist), tab: render('add_to_playlist') }, cdl: { enabled: lending_enabled?(@media_object), can_stream: can_stream, embed: render('embed_checkout'), destroy: render('destroy_checkout') }, - has_files: @media_object.supplemental_files.present? || @media_object.sections_with_files.present?, + has_files: @media_object.supplemental_files.present? || @media_object.sections_with_rendering_files?([nil, 'caption']), has_transcripts: @media_object.sections_with_files(tag: 'transcript').present? } ) %>