]> cat aescling's git repositories - mastodon.git/commitdiff
Fix outdated iso-639 reference in update status service (#17496)
authorEugen Rochko <eugen@zeonfederated.com>
Thu, 10 Feb 2022 02:09:44 +0000 (03:09 +0100)
committerGitHub <noreply@github.com>
Thu, 10 Feb 2022 02:09:44 +0000 (03:09 +0100)
app/services/update_status_service.rb

index 69dc18e87da093f2cf0161630673f8bfef59965e..68e73d3b46836c6609a5f29571e814f8a43ea2c1 100644 (file)
@@ -2,6 +2,7 @@
 
 class UpdateStatusService < BaseService
   include Redisable
+  include LanguagesHelper
 
   # @param [Status] status
   # @param [Integer] account_id
@@ -95,16 +96,12 @@ class UpdateStatusService < BaseService
     @status.text         = @options[:text].presence || @options.delete(:spoiler_text) || ''
     @status.spoiler_text = @options[:spoiler_text] || ''
     @status.sensitive    = @options[:sensitive] || @options[:spoiler_text].present?
-    @status.language     = language_from_option || @status.language
+    @status.language     = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale)
     @status.edited_at    = Time.now.utc
 
     @status.save!
   end
 
-  def language_from_option
-    ISO_639.find(@options[:language])&.alpha2
-  end
-
   def reset_preview_card!
     return unless @status.text_previously_changed?