aliases/implications: allow duplicate inactive aliases/implications.

Allow multiple pending, deleted or retired aliases/implications for the
same tag.

This is so that deleted or retired aliases can be resubmitted as new
pending requests.
This commit is contained in:
evazion
2018-12-31 17:07:14 -06:00
parent 44a54f75cd
commit f5116c5ce2
4 changed files with 26 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ class TagAlias < TagRelationship
after_destroy :clear_all_cache
after_save :clear_all_cache, if: ->(rec) {rec.is_retired?}
after_save :create_mod_action
validates_uniqueness_of :antecedent_name
validates_uniqueness_of :antecedent_name, scope: :status, conditions: -> { active }
validate :absence_of_transitive_relation
validate :wiki_pages_present, on: :create, unless: :skip_secondary_validations
validate :mininum_antecedent_count, on: :create, unless: :skip_secondary_validations

View File

@@ -7,7 +7,7 @@ class TagImplication < TagRelationship
after_save :update_descendant_names_for_parents
after_destroy :update_descendant_names_for_parents
after_save :create_mod_action
validates_uniqueness_of :antecedent_name, :scope => :consequent_name
validates_uniqueness_of :antecedent_name, scope: [:consequent_name, :status], conditions: -> { active }
validate :absence_of_circular_relation
validate :absence_of_transitive_relation
validate :antecedent_is_not_aliased