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 bargh/stable
parent
5dfa433698
commit
e13d3792f3
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Reference in New Issue