Explicitly use main_app for URL helpers

in controller concerns that are mixed into other engines' controllers. This prevents errors like:

> NoMethodError: undefined method 'session_menu_url' for an instance of ActiveStorage::DirectUploadsController

See also 912bb8a8 and 5ee10800
This commit is contained in:
Mike Dalessio
2025-12-11 12:52:59 -05:00
parent ef3c49d9ad
commit 3d523b84fc
2 changed files with 4 additions and 6 deletions
+4 -4
View File
@@ -37,7 +37,7 @@ module Authentication
def require_account def require_account
unless Current.account.present? unless Current.account.present?
redirect_to session_menu_url(script_name: nil) redirect_to main_app.session_menu_url(script_name: nil)
end end
end end
@@ -78,11 +78,11 @@ module Authentication
end end
def redirect_authenticated_user def redirect_authenticated_user
redirect_to root_url if authenticated? redirect_to main_app.root_url if authenticated?
end end
def redirect_tenanted_request def redirect_tenanted_request
redirect_to root_url if Current.account.present? redirect_to main_app.root_url if Current.account.present?
end end
def start_new_session_for(identity) def start_new_session_for(identity)
@@ -110,7 +110,7 @@ module Authentication
def redirect_to_session_magic_link(magic_link, return_to: nil) def redirect_to_session_magic_link(magic_link, return_to: nil)
serve_development_magic_link(magic_link) serve_development_magic_link(magic_link)
session[:return_to_after_authenticating] = return_to if return_to session[:return_to_after_authenticating] = return_to if return_to
redirect_to session_magic_link_url(script_name: nil) redirect_to main_app.session_magic_link_url(script_name: nil)
end end
def serve_development_magic_link(magic_link) def serve_development_magic_link(magic_link)
-2
View File
@@ -1,7 +1,5 @@
module LoginHelper module LoginHelper
def login_url def login_url
# Use main_app because this helper may be invoked from an engine controller
# that inherits from AdminController.
main_app.new_session_path(script_name: nil) main_app.new_session_path(script_name: nil)
end end