mirror of
https://github.com/discourse/discourse.git
synced 2026-08-07 03:35:32 -05:00
PM support for the solved plugin was intentionally removed in https://github.com/discourse/discourse-solved/pull/334, but multiple communities rely on solved in group messages for private support workflows (e.g. using Discourse as an internal ticket system). Add a new `allow_solved_in_groups` site setting (group list, default empty) that enables the solved UI for group messages belonging to the configured groups. Regular 1-on-1 PMs remain excluded. The implementation adds an early return in `allow_accepted_answers?` for private messages that checks whether the topic's allowed groups intersect with the configured setting. The category/tag logic is extracted into `solved_enabled_for_category?` so callers without a topic object (e.g. the category-change diff in plugin.rb) still work. All existing PM exclusions (reports, badges, filters, directory columns) are intentionally left unchanged. https://meta.discourse.org/t/370496
68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
discourse_solved:
|
|
solved_enabled:
|
|
default: true
|
|
client: true
|
|
show_who_marked_solved:
|
|
default: false
|
|
client: true
|
|
allow_solved_on_all_topics:
|
|
default: false
|
|
client: true
|
|
allow_solved_in_groups:
|
|
type: group_list
|
|
default: ""
|
|
allow_any: false
|
|
refresh: true
|
|
accept_all_solutions_trust_level:
|
|
default: 4
|
|
client: true
|
|
enum: "TrustLevelSetting"
|
|
hidden: true
|
|
accept_all_solutions_allowed_groups:
|
|
default: "1|2|14" # auto group admin, moderators and trust_level_4
|
|
mandatory_values: "1|2" # auto group admins, moderators
|
|
type: group_list
|
|
client: false
|
|
allow_any: false
|
|
refresh: true
|
|
validator: "AtLeastOneGroupValidator"
|
|
empty_box_on_unsolved:
|
|
default: false
|
|
client: true
|
|
solved_quote_length:
|
|
default: 300
|
|
client: false
|
|
solved_topics_auto_close_hours:
|
|
default: 0
|
|
min: 0
|
|
max: 175200 # 20 years
|
|
show_filter_by_solved_status:
|
|
default: false
|
|
client: true
|
|
notify_on_staff_accept_solved:
|
|
default: false
|
|
ignore_solved_topics_in_assigned_reminder:
|
|
default: false
|
|
assignment_status_on_solve:
|
|
type: string
|
|
default: ""
|
|
assignment_status_on_unsolve:
|
|
type: string
|
|
default: ""
|
|
disable_solved_education_message:
|
|
default: false
|
|
accept_solutions_topic_author:
|
|
default: true
|
|
solved_add_schema_markup:
|
|
type: enum
|
|
default: "always"
|
|
choices:
|
|
- "never"
|
|
- "always"
|
|
- "answered only"
|
|
prioritize_solved_topics_in_search: false
|
|
enable_solved_tags:
|
|
type: tag_list
|
|
default: ""
|
|
|