Add ability to reorder server rules from admin interface (#34737)

This commit is contained in:
Claire 2025-05-20 14:49:11 +02:00 committed by GitHub
parent 8ed0408adb
commit d7cb6068b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 97 additions and 2 deletions

View file

@ -22,4 +22,18 @@ class Rule < ApplicationRecord
validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT }
scope :ordered, -> { kept.order(priority: :asc, id: :asc) }
def move!(offset)
rules = Rule.ordered.to_a
position = rules.index(self)
rules.delete_at(position)
rules.insert(position + offset, self)
transaction do
rules.each.with_index do |rule, index|
rule.update!(priority: index)
end
end
end
end