discourse/app/services
David Taylor 9bf522f227
FEATURE: Mixed case tagging (#6454)
- By default, behaviour is not changed: tags are made lowercase upon creation and edit.

- If force_lowercase_tags is disabled, then mixed case tags are allowed.

- Tags must remain case-insensitively unique. This is enforced by ActiveRecord and Postgres.

- A migration is added to provide a `UNIQUE` index on `lower(name)`. Migration includes a safety to correct any current tags that do not meet the criteria.

- A `where_name` scope is added to `models/tag.rb`, to allow easy case-insensitive lookups. This is used instead of `Tag.where(name: "blah")`.

- URLs remain lowercase. Mixed case URLs are functional, but have the lowercase equivalent as the canonical.
2018-10-05 10:23:52 +01:00
..
spam_rule Rename "Blocked" to "Silenced" 2017-11-10 14:10:27 -05:00
anonymous_shadow_creator.rb FIX: email_domains_whitelist prevented creation of anonymous users 2018-03-06 18:14:53 +01:00
badge_granter.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
color_scheme_revisor.rb Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
destroy_task.rb FIX: Allow `rake destroy:topics` to delete topics in sub-categories 2018-09-10 12:52:14 +01:00
group_action_logger.rb Make rubocop happy again. 2018-06-07 13:28:18 +08:00
group_mentions_updater.rb FIX: Skip validations when updating group mentions. 2017-04-04 14:13:18 +08:00
group_message.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
handle_chunk_upload.rb FIX: Can't upload backup. 2018-04-06 10:14:17 +08:00
notification_emailer.rb rename 'private_email_time_window_seconds' to 'personal_email_time_window_seconds' 2018-02-01 13:25:29 +05:30
post_action_notifier.rb FEATURE: Pop revise modal on post edited notification (#6287) 2018-08-24 09:13:07 -04:00
post_alerter.rb FEATURE: Pop revise modal on post edited notification (#6287) 2018-08-24 09:13:07 -04:00
post_owner_changer.rb FIX: PostOwnerChange should update 'topic.last_poser' 2018-05-16 19:48:04 +02:00
push_notification_pusher.rb Refactor of `PushSubscriptionPusher`. 2018-05-09 08:14:14 +08:00
random_topic_selector.rb improve erraticly failing spec 2018-05-23 08:39:15 +10:00
search_indexer.rb FEATURE: Mixed case tagging (#6454) 2018-10-05 10:23:52 +01:00
site_settings_task.rb Add tests for Site Settings import/export 2018-03-23 14:55:17 -06:00
spam_rules_enforcer.rb FIX: SpamRulesEnforcer should use default locale 2018-08-20 15:08:12 +02:00
staff_action_logger.rb FEATURE: Log entity export in staff logs 2018-09-19 03:16:45 +05:30
topic_status_updater.rb Add a `DiscourseEvent` for when a topic is closed 2017-09-27 14:00:53 -04:00
topic_timestamp_changer.rb FIX: `TopicTimestampChanger` should not allow timestamps in the future. 2017-05-22 16:03:49 +08:00
tracked_topics_updater.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
trust_level_granter.rb REFACTOR: Track manual locked user levels separately from groups 2017-11-27 11:23:44 -05:00
user_action_creator.rb REFACTOR: Use `Topic#private_message?` to reduce duplication. 2018-03-05 15:39:22 +08:00
user_activator.rb FEATURE: forgot_password_strict setting also prevents reporting that an email address is taken during signup 2017-10-03 15:28:30 -04:00
user_anonymizer.rb FEATURE: List, revoke and reconnect associated accounts. Phase 1 (#6099) 2018-07-23 16:51:57 +01:00
user_authenticator.rb FIX: apply automatic group rules when using social login providers 2018-05-23 02:26:07 +03:00
user_destroyer.rb UX: when admin is deleted, make it clear in staff action logs when records belong to a deleted user and show their username in the details 2018-10-02 13:46:54 -04:00
user_merger.rb DEV: remove all calls to SqlBuilder use DB.build instead 2018-06-20 17:53:49 +10:00
user_silencer.rb Pass `silenced_by` through to DiscourseEvent 2018-03-29 16:44:18 -04:00
user_updater.rb FEATURE: auto grant an available title when removing old title 2018-09-21 12:06:08 +10:00
username_changer.rb Update username only after successful user anonymization 2018-06-08 15:50:07 +02:00
username_checker_service.rb FIX: Check for group name availability should skip reserved usernames. 2018-08-01 11:09:33 +08:00
word_watcher.rb FIX: Missing word boundaries when non-regexp 2017-11-17 14:37:31 -05:00