feat: add currency management for families with enabled currencies (#1419)

* feat: add currency management for families with enabled currencies

* feat: update currency selection logic and improve accessibility

* feat: update currency preferences to use group moniker in titles

---------

Signed-off-by: Ang Wei Feng (Ted) <hello@tedawf.com>
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
This commit is contained in:
Ang Wei Feng (Ted)
2026-04-14 01:53:04 +08:00
committed by GitHub
parent 1aa3c8f007
commit 60929cdee0
13 changed files with 322 additions and 18 deletions

View File

@@ -107,7 +107,10 @@ class UsersController < ApplicationController
def user_params
family_attrs = [ :name, :currency, :country, :date_format, :timezone, :locale, :month_start_day, :id ]
family_attrs.push(:moniker, :default_account_sharing) if Current.user.admin?
if Current.user.admin?
family_attrs.push(:moniker, :default_account_sharing)
family_attrs << { enabled_currencies: [] }
end
params.require(:user).permit(
:first_name, :last_name, :email, :profile_image, :redirect_to, :delete_profile_image, :onboarded_at,
@@ -127,8 +130,9 @@ class UsersController < ApplicationController
moniker_changed = family_attrs[:moniker].present? && family_attrs[:moniker] != Current.family.moniker
sharing_changed = family_attrs[:default_account_sharing].present? && family_attrs[:default_account_sharing] != Current.family.default_account_sharing
enabled_currencies_changed = family_attrs.key?(:enabled_currencies)
moniker_changed || sharing_changed
moniker_changed || sharing_changed || enabled_currencies_changed
end
def ensure_admin