diff --git a/app/models/budget.rb b/app/models/budget.rb index c4fe62eeb..4904f3923 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -229,4 +229,16 @@ class Budget < ApplicationRecord slug.nil? || drafting? end + class Translation < Globalize::ActiveRecord::Translation + validate :name_uniqueness_by_budget + + def name_uniqueness_by_budget + if Budget.joins(:translations) + .where(name: name) + .where.not("budget_translations.budget_id": budget_id).any? + errors.add(:name, I18n.t("errors.messages.taken")) + end + end + end + end