DEV: add support for adding custom status filter

Those can be used in the /filter routes.
This commit is contained in:
Régis Hanol
2024-04-26 12:53:17 +02:00
parent 351d212e8a
commit 803c275bd7
3 changed files with 33 additions and 1 deletions

View File

@ -236,6 +236,14 @@ class Plugin::Instance
DiscoursePluginRegistry.register_editable_group_custom_field(field, self)
end
# Allows to define custom "status:" filter. Example usage:
# register_custom_filter_by_status("foobar") do |scope|
# scope.where("word_count = 42")
# end
def register_custom_filter_by_status(status, &block)
TopicsFilter.add_filter_by_status(status, &block)
end
# Allows to define custom search order. Example usage:
# Search.advanced_order(:chars) do |posts|
# posts.reorder("(SELECT LENGTH(raw) FROM posts WHERE posts.topic_id = subquery.topic_id) DESC")