2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2015-03-31 12:58:56 -04:00
|
|
|
class NewPostResult
|
|
|
|
include HasErrors
|
|
|
|
|
|
|
|
attr_reader :action
|
2015-04-28 15:06:27 -04:00
|
|
|
|
|
|
|
attr_accessor :reason
|
2015-03-31 12:58:56 -04:00
|
|
|
attr_accessor :post
|
2019-01-03 12:03:01 -05:00
|
|
|
attr_accessor :reviewable
|
2015-04-24 15:44:59 -04:00
|
|
|
attr_accessor :pending_count
|
2019-11-29 09:30:54 -05:00
|
|
|
attr_accessor :route_to
|
|
|
|
attr_accessor :message
|
2015-03-31 12:58:56 -04:00
|
|
|
|
|
|
|
def initialize(action, success = false)
|
|
|
|
@action = action
|
|
|
|
@success = success
|
|
|
|
end
|
|
|
|
|
|
|
|
def check_errors_from(obj)
|
|
|
|
if obj.errors.empty?
|
|
|
|
@success = true
|
|
|
|
else
|
|
|
|
add_errors_from(obj)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-01-03 12:03:01 -05:00
|
|
|
def check_errors(arr)
|
|
|
|
if arr.empty?
|
|
|
|
@success = true
|
|
|
|
else
|
2024-05-27 06:27:13 -04:00
|
|
|
arr.each { |e| errors.add(:base, e) if errors[:base].exclude?(e) }
|
2019-01-03 12:03:01 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def queued_post
|
|
|
|
Discourse.deprecate(
|
|
|
|
"NewPostManager#queued_post is deprecated. Please use #reviewable instead.",
|
2021-11-12 09:52:59 -05:00
|
|
|
output_in_test: true,
|
|
|
|
drop_from: "2.9.0",
|
2019-01-03 12:03:01 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
reviewable
|
|
|
|
end
|
|
|
|
|
2015-03-31 12:58:56 -04:00
|
|
|
def success?
|
|
|
|
@success
|
|
|
|
end
|
|
|
|
|
|
|
|
def failed?
|
|
|
|
!@success
|
|
|
|
end
|
|
|
|
end
|