diff --git a/app/models/budget.rb b/app/models/budget.rb index 28fb8c5ca..ae589302f 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -6,6 +6,18 @@ class Budget < ActiveRecord::Base translates :name, touch: true include Globalizable + class 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 + CURRENCY_SYMBOLS = %w(€ $ £ ¥).freeze before_validation :assign_model_to_translations diff --git a/app/models/budget/translation.rb b/app/models/budget/translation.rb deleted file mode 100644 index 1f3d93ea1..000000000 --- a/app/models/budget/translation.rb +++ /dev/null @@ -1,11 +0,0 @@ -class Budget::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