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
This commit is contained in:
ThibG 2019-03-04 00:39:06 +01:00 committed by Eugen Rochko
parent 5dfa433698
commit e13d3792f3
3 changed files with 4 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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