Skip to content

Commit

Permalink
Merge branch 'adventist_dev' into hyrax-5-upgrade
Browse files Browse the repository at this point in the history
Ref:
  - 31de0fe
  • Loading branch information
kirkkwang committed Dec 14, 2023
2 parents 59626ef + 95a2228 commit fe54004
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 9 deletions.
6 changes: 4 additions & 2 deletions app/controllers/concerns/hyrax/works_controller_behavior.rb
Original file line number Diff line number Diff line change
Expand Up @@ -507,8 +507,10 @@ def available_admin_sets
def inject_show_theme_views
if show_page_theme && show_page_theme != 'default_show'
original_paths = view_paths
show_theme_view_path = Rails.root.join('app', 'views', "themes", show_page_theme.to_s)
prepend_view_path(show_theme_view_path)
Hyku::Application.theme_view_path_roots.each do |root|
show_theme_view_path = File.join(root, 'app', 'views', "themes", show_page_theme.to_s)
prepend_view_path(show_theme_view_path)
end
yield
# rubocop:disable Lint/UselessAssignment, Layout/SpaceAroundOperators, Style/RedundantParentheses
# Do NOT change this line. This is calling the Rails view_paths=(paths) method and not a variable assignment.
Expand Down
6 changes: 4 additions & 2 deletions app/controllers/hyrax/contact_form_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,10 @@ def collections(rows: 6)
def inject_theme_views
if home_page_theme && home_page_theme != 'default_home'
original_paths = view_paths
home_theme_view_path = Rails.root.join('app', 'views', "themes", home_page_theme.to_s)
prepend_view_path(home_theme_view_path)
Hyku::Application.theme_view_path_roots.each do |root|
home_theme_view_path = File.join(root, 'app', 'views', "themes", home_page_theme.to_s)
prepend_view_path(home_theme_view_path)
end
yield
# rubocop:disable Lint/UselessAssignment, Layout/SpaceAroundOperators, Style/RedundantParentheses
# Do NOT change this line. This is calling the Rails view_paths=(paths) method and not a variable assignment.
Expand Down
6 changes: 4 additions & 2 deletions app/controllers/hyrax/pages_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,10 @@ def collections(rows: 6)
def inject_theme_views
if home_page_theme && home_page_theme != 'default_home'
original_paths = view_paths
home_theme_view_path = Rails.root.join('app', 'views', "themes", home_page_theme.to_s)
prepend_view_path(home_theme_view_path)
Hyku::Application.theme_view_path_roots.each do |root|
home_theme_view_path = File.join(root, 'app', 'views', "themes", home_page_theme.to_s)
prepend_view_path(home_theme_view_path)
end
yield
# rubocop:disable Lint/UselessAssignment, Layout/SpaceAroundOperators, Style/RedundantParentheses
# Do NOT change this method. This is an override of the view_paths= method and not a variable assignment.
Expand Down
21 changes: 18 additions & 3 deletions config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,30 @@ class Application < Rails::Application
# Add the middleware directory to the eager load paths
config.eager_load_paths << Rails.root.join('app', 'middleware')

##
# @return [Array<String>] an array of strings in which we should be looking for theme view
# candidates.
# @see Hyrax::WorksControllerBehavior
# @see Hyrax::ContactFormController
# @see Hyrax::PagesController
# @see https://api.rubyonrails.org/classes/ActionView/ViewPaths.html#method-i-prepend_view_path
#
# @see .path_for
# @see
def self.theme_view_path_roots
returning_value = [Rails.root.to_s]
returning_value.push HykuKnapsack::Engine.root.to_s if defined?(HykuKnapsack)
returning_value
end

##
# @api public
#
# @param relative_path [String] lookup the relative paths first in the Knapsack then in Hyku.
#
# @return [String] the path to the file, favoring those found in the knapsack but falling back
# to those in the Rails.root.
# @see .theme_view_path_roots
def self.path_for(relative_path)
if defined?(HykuKnapsack)
engine_path = HykuKnapsack::Engine.root.join(relative_path)
Expand All @@ -93,9 +110,7 @@ def self.path_for(relative_path)
config.middleware.use Rack::Deflater

# The locale is set by a query parameter, so if it's not found render 404
config.action_dispatch.rescue_responses.merge!(
"I18n::InvalidLocale" => :not_found
)
config.action_dispatch.rescue_responses["I18n::InvalidLocale"] = :not_found

if defined?(ActiveElasticJob) && ENV.fetch('HYRAX_ACTIVE_JOB_QUEUE', '') == 'elastic'
Rails.application.configure do
Expand Down

0 comments on commit fe54004

Please sign in to comment.