Skip to content

Commit bdc7908

Browse files
authored
FIX: Absent scope in serializer will cause reports to fail (#225)
There is a little bug now due to data-explorer. Below is the stack trace: ``` plugins/discourse-translator/plugin.rb:75:in `block (2 levels) in activate!' lib/discourse_plugin_registry.rb:293:in `apply_modifier' app/serializers/basic_topic_serializer.rb:9:in `fancy_title' active_model_serializers (0.8.4) lib/action_controller/serialization.rb:50:in `block (2 levels) in <module:Serialization>' ... plugins/discourse-data-explorer/app/controllers/discourse_data_explorer/query_controller.rb:191:in `block (2 levels) in run' ``` This PR makes us be a bit more resilient when there is no scope present in the serializer.
1 parent fa66f1a commit bdc7908

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

plugin.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ module ::DiscourseTranslator
6262

6363
register_modifier(:basic_post_serializer_cooked) do |cooked, serializer|
6464
if !SiteSetting.experimental_topic_translation ||
65-
serializer.scope.request.params["show"] == "original" ||
65+
serializer.scope&.request&.params&.[]("show") == "original" ||
6666
serializer.object.detected_locale == I18n.locale.to_s.gsub("_", "-")
6767
cooked
6868
else
@@ -72,7 +72,7 @@ module ::DiscourseTranslator
7272

7373
register_modifier(:topic_serializer_fancy_title) do |fancy_title, serializer|
7474
if !SiteSetting.experimental_topic_translation ||
75-
serializer.scope.request.params["show"] == "original" ||
75+
serializer.scope&.request&.params&.[]("show") == "original" ||
7676
serializer.object.locale_matches?(I18n.locale)
7777
fancy_title
7878
else
@@ -82,7 +82,7 @@ module ::DiscourseTranslator
8282

8383
register_modifier(:topic_view_serializer_fancy_title) do |fancy_title, serializer|
8484
if !SiteSetting.experimental_topic_translation ||
85-
serializer.scope.request.params["show"] == "original" ||
85+
serializer.scope&.request&.params&.[]("show") == "original" ||
8686
serializer.object.topic.locale_matches?(I18n.locale)
8787
fancy_title
8888
else

0 commit comments

Comments
 (0)