diff options
author | ThibG <thib@sitedethib.com> | 2019-03-04 00:39:06 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2019-03-04 00:39:06 +0100 |
commit | e13d3792f322c6313fde10d639b13bc31723ec63 (patch) | |
tree | f78d71564fd4f2cd83dfb40ccf6f0fcd6254f39e | |
parent | 5dfa4336985616cf5652de2f1cf794d8f740424e (diff) |
Make sure the poll is created before storing its id (#10142)
* Make sure the poll is created before storing its id * Fix updating poll results * Support fetching Question activities from the search bar
-rw-r--r-- | app/models/status.rb | 4 | ||||
-rw-r--r-- | app/services/activitypub/fetch_remote_poll_service.rb | 2 | ||||
-rw-r--r-- | app/services/resolve_url_service.rb | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/app/models/status.rb b/app/models/status.rb index db3c130de..74deeeb50 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -255,7 +255,7 @@ class Status < ApplicationRecord before_validation :set_conversation before_validation :set_local - before_save :set_poll_id + after_create :set_poll_id class << self def selectable_visibilities @@ -446,7 +446,7 @@ class Status < ApplicationRecord end def set_poll_id - self.poll_id = owned_poll.id unless owned_poll.nil? + update_column(:poll_id, owned_poll.id) unless owned_poll.nil? end def set_visibility diff --git a/app/services/activitypub/fetch_remote_poll_service.rb b/app/services/activitypub/fetch_remote_poll_service.rb index 6f0ac5624..ea75e8ef9 100644 --- a/app/services/activitypub/fetch_remote_poll_service.rb +++ b/app/services/activitypub/fetch_remote_poll_service.rb @@ -46,6 +46,6 @@ class ActivityPub::FetchRemotePollService < BaseService end def expected_type? - equals_or_includes_any?(@json['type'], 'Question') + equals_or_includes_any?(@json['type'], %w(Question)) end end diff --git a/app/services/resolve_url_service.rb b/app/services/resolve_url_service.rb index ed0c56923..b98759bf6 100644 --- a/app/services/resolve_url_service.rb +++ b/app/services/resolve_url_service.rb @@ -20,7 +20,7 @@ class ResolveURLService < BaseService def process_url if equals_or_includes_any?(type, %w(Application Group Organization Person Service)) FetchRemoteAccountService.new.call(atom_url, body, protocol) - elsif equals_or_includes_any?(type, %w(Note Article Image Video Page)) + elsif equals_or_includes_any?(type, %w(Note Article Image Video Page Question)) FetchRemoteStatusService.new.call(atom_url, body, protocol) end end |