docbrown/app/models
Daniel Uber c879c5b3d8
Remove slash characters from user name search term (#15867)
* Remove slash characters from user supplied user search input

Prevents an error when the search term includes '\'

    PG::SyntaxError: ERROR:  syntax error in tsquery

https://app.honeybadger.io/projects/66984/faults/79391397

I had originally thought to add this cleanup to Search::Username but
decided to move it as close to the generated (invalid) query as
possible to prevent alternate paths finding their way here.

* Add spec

Since there's no existing tests for the scope - I put the test code on
the caller (Search::Username) rather than the model (User), this seems reasonable.

* When the term is empty (or only slashes) just return null relation

* Handle nil input (search for nothing) correctly

One of the request specs sends a username search with no query, so we
can't call nil.delete or nil.empty?, use blank? of empty?
2021-12-27 12:30:36 -06:00
..
ahoy Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
articles Rubocop: Move from OpenStruct to Struct in Organization (#9431) 2020-07-30 21:04:05 +07:00
concerns Remove CustomProfileField (#14286) 2021-07-22 10:05:39 +07:00
liquid_tags
settings Put back default community name. (#15777) 2021-12-14 13:48:38 -07:00
users Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
webhook Remove Doorkeeper gem (#15749) 2021-12-21 12:29:58 +07:00
ab_experiment.rb Configurable weighted feed strategy (#15240) 2021-11-29 10:46:56 -05:00
admin_menu.rb ✂✂✂ Remove Connect (#14734) 2021-11-18 08:21:00 -06:00
announcement.rb
api_secret.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
application_record.rb Remove txn from with_statement_timeout block (#15088) 2021-10-15 14:53:35 -04:00
article.rb Refactoring to use StringAttributeCleaner (#15641) 2021-12-02 08:55:27 -05:00
audit_log.rb Favoring constant over magic string (#15852) 2021-12-27 11:31:29 -05:00
badge.rb Refactor cache purging (#12811) 2021-03-02 10:09:05 -05:00
badge_achievement.rb Extracting container for allowed tags & attrs (#15338) 2021-12-16 12:24:45 -05:00
banished_user.rb
broadcast.rb Fix Rails/HasManyOrHasOneDependent for Broadcast and Collection (#9662) 2020-08-07 14:27:24 -04:00
campaign.rb Split Settings::Campaign from SiteConfig (#13238) 2021-04-19 10:01:03 +07:00
collection.rb Fix Rails/HasManyOrHasOneDependent for Broadcast and Collection (#9662) 2020-08-07 14:27:24 -04:00
comment.rb Refactoring Spam Handler (#15412) 2021-11-30 12:45:12 -05:00
config.rb
consumer_app.rb ForemMobile namespaced functions (#15212) 2021-11-23 15:25:29 -06:00
creator_setting.rb Creator Onboarding: Creator Setup View (#14728) 2021-11-01 15:50:08 -04:00
credit.rb
data_update_script.rb Navigation Items and Role access for Data Update Scripts (#12292) 2021-02-09 17:41:14 +02:00
device.rb Spelling (#15702) 2021-12-07 06:59:10 -07:00
discussion_lock.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
display_ad.rb Extracting container for allowed tags & attrs (#15338) 2021-12-16 12:24:45 -05:00
display_ad_event.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
email_authorization.rb Refactor Admin Member Detail view - Tools section (#14283) 2021-08-17 18:55:53 +02:00
email_message.rb Delete old retained emails after certain period (#14949) 2021-10-12 16:27:13 -04:00
feedback_message.rb Refactor Admin Member Detail view - Tools section (#14283) 2021-08-17 18:55:53 +02:00
follow.rb ✂✂✂ Remove Connect (#14734) 2021-11-18 08:21:00 -06:00
forem_instance.rb Fix Forem Ownership Field (#14730) 2021-09-16 06:56:59 -04:00
github_issue.rb If there is no body of the linked issue or PR, don't render markdown (#14804) 2021-09-28 09:20:49 -05:00
github_repo.rb Refactor cache purging (#12811) 2021-03-02 10:09:05 -05:00
html_variant.rb Strip surrounding whitespace from HTMLVariant name (#15776) 2021-12-14 14:42:06 -05:00
html_variant_success.rb [deploy] Add relations and foreign keys between HtmlVariant related models (#9846) 2020-08-18 11:33:38 -04:00
html_variant_trial.rb [deploy] Add relations and foreign keys between HtmlVariant related models (#9846) 2020-08-18 11:33:38 -04:00
identity.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
invitation.rb
listing.rb ✂✂✂ Remove Connect (#14734) 2021-11-18 08:21:00 -06:00
listing_category.rb [deploy] Manage listing categories in dashboard (#10506) 2020-10-02 11:05:09 -04:00
mention.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
mod.rb
moderator_action.rb
navigation_link.rb Remove redundant freeze calls (#14596) 2021-08-26 10:01:08 -04:00
note.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
notification.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
notification_subscription.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
organization.rb Extracting cross-model uniqueness validator (#15640) 2021-12-06 17:07:47 -05:00
organization_membership.rb Refactoring to use scope (#15625) 2021-12-01 13:14:40 -05:00
overview.rb Add admin overview page (#12726) 2021-03-01 18:59:05 -06:00
page.rb Extracting cross-model uniqueness validator (#15640) 2021-12-06 17:07:47 -05:00
page_view.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
permission.rb
pinned_article.rb Pin posts to feed (#13807) 2021-06-04 10:54:53 +02:00
podcast.rb Extracting cross-model uniqueness validator (#15640) 2021-12-06 17:07:47 -05:00
podcast_episode.rb Various cleanups (#14616) 2021-08-31 09:17:24 +07:00
podcast_episode_appearance.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
podcast_ownership.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
poll.rb Refactoring poll/vote/skip logic (#15441) 2021-11-29 10:52:32 -05:00
poll_option.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
poll_skip.rb Refactoring poll/vote/skip logic (#15441) 2021-11-29 10:52:32 -05:00
poll_vote.rb Refactoring poll/vote/skip logic (#15441) 2021-11-29 10:52:32 -05:00
privileged_reaction.rb
profile.rb Favoring delete_all on user relationships (#15443) 2021-11-23 11:50:12 -05:00
profile_field.rb Remove check_box type from profile fields (#14832) 2021-09-30 13:27:39 -04:00
profile_field_group.rb [deploy] /profile/settings page rendering (Ridhwana/Michael) (#10733) 2020-10-20 09:18:13 -04:00
profile_pin.rb Favoring dependent: :delete_all over :destroy (#15442) 2021-11-24 13:56:16 -05:00
rating_vote.rb role deprecation cleanup (#15717) 2021-12-09 15:27:45 -06:00
reaction.rb Remove reactions to a user when deleting the user (#15724) 2021-12-10 11:24:23 -06:00
response_template.rb Deprecating User#trusted in favor of User#trusted? (#15639) 2021-12-02 08:54:58 -05:00
role.rb ✂✂✂ Remove Connect (#14734) 2021-11-18 08:21:00 -06:00
secret.rb
sponsorship.rb Only permit valid class names as sponsorable type (#14387) 2021-11-05 12:25:35 -05:00
tag.rb Favoring single SQL and computation over enum (#15865) 2021-12-22 14:59:37 -05:00
tag_adjustment.rb Refactoring questions asked of user (#15762) 2021-12-21 12:45:12 -05:00
timeframe.rb Remove timeframer from app/labor (#11782) 2020-12-08 12:52:33 +07:00
tool.rb
tweet.rb RFC 190: Forem Creator Signup Page (#13875) 2021-08-24 10:33:26 +02:00
user.rb Remove slash characters from user name search term (#15867) 2021-12-27 12:30:36 -06:00
user_block.rb Fix and refactor hide user content (#12307) 2021-01-18 11:08:23 -05:00
user_role.rb [Search 2.0] Users (#13453) 2021-04-24 19:06:06 +02:00
user_subscription.rb Rename MarkdownParser to MarkdownProcessor::Parser (#12248) 2021-01-13 10:39:13 -05:00
webhook_endpoint.rb
welcome.rb
welcome_notification.rb