Fix #4599: Editing saved search fails when user has maximum saved searches.

This commit is contained in:
evazion
2020-08-27 22:25:16 -05:00
parent 7770c38d0d
commit 346b143e40
2 changed files with 16 additions and 7 deletions

View File

@@ -8,7 +8,7 @@ class SavedSearch < ApplicationRecord
before_validation :normalize_query
before_validation :normalize_labels
validates :query, presence: true
validate :validate_count
validate :validate_count, on: :create
scope :labeled, ->(label) { where_array_includes_any_lower(:labels, [normalize_label(label)]) }
scope :has_tag, ->(name) { where_regex(:query, "(^| )[~-]?#{Regexp.escape(name)}( |$)", flags: "i") }
@@ -173,7 +173,7 @@ class SavedSearch < ApplicationRecord
end
def validate_count
if user.saved_searches.count + 1 > user.max_saved_searches
if user.saved_searches.count >= user.max_saved_searches
self.errors[:user] << "can only have up to #{user.max_saved_searches} " + "saved search".pluralize(user.max_saved_searches)
end
end