discourse/spec/lib
Martin Brennan e62e93f83a
FEATURE: Introduce personal_message_enabled_groups setting (#18042)
This will replace `enable_personal_messages` and
`min_trust_to_send_messages`, this commit introduces
the setting `personal_message_enabled_groups`
and uses it in all places that `enable_personal_messages`
and `min_trust_to_send_messages` currently apply.

A migration is included to set `personal_message_enabled_groups`
based on the following rules:

* If `enable_personal_messages` was false, then set
  `personal_message_enabled_groups` to `3`, which is
  the staff auto group
* If `min_trust_to_send_messages` is not default (1)
  and the above condition is false, then set the
  `personal_message_enabled_groups` setting to
  the appropriate auto group based on the trust level
* Otherwise just set `personal_message_enabled_groups` to
  11 which is the TL1 auto group

After follow-up PRs to plugins using these old settings, we will be
able to drop the old settings from core, in the meantime I've added
 DEPRECATED notices to their descriptions and added them
to the deprecated site settings list.

This commit also introduces a `_map` shortcut method definition
for all `group_list` site settings, e.g. `SiteSetting.personal_message_enabled_groups`
also has `SiteSetting.personal_message_enabled_groups_map` available,
which automatically splits the setting by `|` and converts it into
an array of integers.
2022-09-26 13:58:40 +10:00
..
auth DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
backup_restore FIX: Backup/Restore didn't use correct Redis namespace in multisite (#18060) 2022-08-24 01:43:42 +02:00
common_passwords DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
compression DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
concern DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
content_security_policy Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email FEATURE: Overhaul email threading (#17996) 2022-09-26 09:14:24 +10:00
file_store DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
freedom_patches DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
guardian DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
highlight_js Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
i18n Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
imap DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
import Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
middleware DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
migration Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox DEV: Fix spec file name (#18227) 2022-09-12 14:03:23 +02:00
plugin DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
pretty_text DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
rate_limiter DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
scheduler Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
second_factor DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
seed_data FIX: Only seed general category on new sites (#18130) 2022-08-29 18:23:14 -06:00
site_settings DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
stylesheet DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
svg_sprite DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_store Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_query DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
validators DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
webauthn Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
wizard FIX: reload styling changes for wizard styling step (#18121) 2022-08-29 15:10:47 +05:30
admin_confirmation_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
admin_user_index_query_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
archetype_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
bookmark_manager_spec.rb FIX: Do not save default auto_delete_preference for bookmark (#18119) 2022-08-30 09:21:41 +10:00
bookmark_query_spec.rb FEATURE: whispers available for groups (#17170) 2022-06-30 10:18:12 +10:00
bookmark_reminder_notification_handler_spec.rb FEATURE: Promote polymorphic bookmarks to default and migrate (#16729) 2022-05-23 10:07:15 +10:00
browser_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cache_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
category_badge_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
composer_messages_finder_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
content_buffer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
content_security_policy_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cooked_post_processor_spec.rb UX: Use dominant color as image loading placeholder (#18248) 2022-09-20 10:28:17 +01:00
crawler_detection_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
current_user_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
db_helper_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
directory_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_diff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_event_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_hub_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_js_processor_spec.rb DEV: Use DiscourseJsProcessor for theme template compilation (#18135) 2022-09-01 11:50:46 +01:00
discourse_plugin_registry_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_redis_spec.rb Revert "DEV: Upgrade Redis to 4.8" (#18099) 2022-08-26 15:16:50 +10:00
discourse_sourcemapping_url_processor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_tagging_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_updates_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
distributed_cache_spec.rb DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
distributed_memoizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
distributed_mutex_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
email_cook_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email_updater_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
ember_cli_spec.rb DEV: Add test for EmberCli#ember_version (#18140) 2022-08-30 20:33:08 +01:00
encodings_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
enum_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
excerpt_parser_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_element_installer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_item_accessor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
file_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
filter_best_posts_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
final_destination_spec.rb FIX: Swallow SSL errors when generating oneboxes 2022-08-09 16:54:45 +02:00
flag_settings_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
gaps_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
global_path_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
group_email_credentials_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
guardian_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
has_errors_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
hijack_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
html_prettify_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
html_to_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
image_sizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
inline_oneboxer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
js_locale_helper_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
json_error_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
letter_avatar_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
message_id_service_spec.rb FEATURE: Overhaul email threading (#17996) 2022-09-26 09:14:24 +10:00
method_profiler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mini_sql_multisite_connection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mobile_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
new_post_manager_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
new_post_result_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
oneboxer_spec.rb DEV: Fix busted twitter onebox spec (#18009) 2022-08-20 11:19:19 +02:00
onpdiff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pbkdf2_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pinned_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
plain_text_to_markdown_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_action_creator_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
post_action_destroyer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_creator_spec.rb FIX: Skip topic allowed user for small actions (#18075) 2022-08-29 13:01:16 +03:00
post_destroyer_spec.rb DEV: Use AR enums in reviewables related code 2022-09-22 14:44:27 +02:00
post_jobs_enqueuer_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
post_locker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_merger_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_revisor_spec.rb FIX: hide welcome topic banner as soon as the welcome topic is edited (#18125) 2022-09-01 09:44:21 +05:30
presence_channel_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pretty_text_spec.rb FIX: Empty inline BBCodes were broken (#18276) 2022-09-20 09:50:22 +10:00
promotion_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
quote_comparer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
rate_limiter_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
retrieve_title_spec.rb FIX: ignore malformed HTML for title extraction (#18040) 2022-08-23 15:03:57 +10:00
rtl_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
s3_cors_rulesets_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
s3_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
score_calculator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
scss_checker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
search_spec.rb DEV: Fix a flaky spec (#18146) 2022-08-31 20:52:57 +02:00
secure_session_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
shrink_uploaded_image_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_icon_manager_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
slug_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
spam_handler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
suggested_topics_builder_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
system_message_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
text_cleaner_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
text_sentinel_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_flag_modifier_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
theme_javascript_compiler_spec.rb DEV: Use DiscourseJsProcessor for theme template compilation (#18135) 2022-09-01 11:50:46 +01:00
theme_settings_manager_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_settings_parser_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
timeline_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
tiny_japanese_segmenter_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_creator_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
topic_publisher_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topic_query_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
topic_retriever_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_upload_security_manager_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_view_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topics_bulk_action_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trashable_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trust_level_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
twitter_api_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
unread_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
upload_creator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
upload_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
upload_recovery_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
upload_security_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
url_helper_spec.rb DEV: Rename UriHelper.escape_uri to .normalized_encode 2022-08-09 11:55:25 +01:00
user_comm_screener_spec.rb FIX: Handle actor not having preferences in UserCommScreener (#17790) 2022-08-04 10:16:54 +10:00
user_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
user_name_suggester_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
version_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00