diff --git a/lib/discourse_translator/guardian_extension.rb b/lib/discourse_translator/guardian_extension.rb index f300b26e..ae80d777 100644 --- a/lib/discourse_translator/guardian_extension.rb +++ b/lib/discourse_translator/guardian_extension.rb @@ -22,7 +22,7 @@ def can_detect_language?(post) end def can_translate?(post) - return false if post.user.bot? + return false if post.user&.bot? return false if !user_group_allow_translate? return false if post.locale_matches?(I18n.locale) diff --git a/spec/lib/guardian_extension_spec.rb b/spec/lib/guardian_extension_spec.rb index c85c8b6c..1b643f75 100644 --- a/spec/lib/guardian_extension_spec.rb +++ b/spec/lib/guardian_extension_spec.rb @@ -244,5 +244,11 @@ end end end + + it "does not error out when post user is deleted" do + post.update(user: nil) + + expect { guardian.can_translate?(post) }.not_to raise_error + end end end