DEV: rescues site setting missing exception (#13022)

DEV: rescues site setting missing exception (#13022)

This will allow to correctly catch it client side and display a correct error.

diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 000cd89..cf444e8 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -152,6 +152,10 @@ class ApplicationController < ActionController::Base
     render_json_error e.message, status: 400
   end
 
+  rescue_from Discourse::SiteSettingMissing do |e|
+    render_json_error I18n.t('site_setting_missing', name: e.message), status: 500
+  end
+
   rescue_from ActionController::RoutingError, PluginDisabled  do
     rescue_discourse_actions(:not_found, 404)
   end
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 23b159e..1ae0740 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -3940,6 +3940,8 @@ en:
   page_forbidden:
     title: "Oops! That page is private."
 
+  site_setting_missing: "`%{name}` site setting has to be set."
+
   page_not_found:
     title: "Oops! That page doesn’t exist or is private."
     popular_topics: "Popular"

GitHub sha: 81bf581a

This commit appears in #13022 which was approved by CvX. It was merged by jjaffeux.