From c07c0b2e612b41dc62e8ad681d0d51d16de41bba Mon Sep 17 00:00:00 2001 From: Shibu M <23173570+DataEnginr@users.noreply.github.com> Date: Thu, 4 Jun 2026 19:12:12 +0000 Subject: [PATCH] change labels --- app/views/transfers/_form.html.erb | 6 +++--- app/views/transfers/show.html.erb | 15 +++------------ config/locales/views/transfers/en.yml | 9 ++++----- db/schema.rb | 26 ++++++++++++++------------ 4 files changed, 24 insertions(+), 32 deletions(-) diff --git a/app/views/transfers/_form.html.erb b/app/views/transfers/_form.html.erb index 053420576..445e8c30a 100644 --- a/app/views/transfers/_form.html.erb +++ b/app/views/transfers/_form.html.erb @@ -74,17 +74,17 @@
- <%= render DS::Disclosure.new(title: t(".bank_fees"), open: false, variant: :inline) do %> + <%= render DS::Disclosure.new(title: t(".bank_charges"), open: false, variant: :inline) do %>
<%= f.number_field :source_fee_amount, - label: t(".source_fee"), + label: t(".outgoing_fee"), min: 0, placeholder: "0.00", step: "any", data: { transfer_form_target: "sourceFee" } %> <%= f.number_field :destination_fee_amount, - label: t(".destination_fee"), + label: t(".incoming_fee"), min: 0, placeholder: "0.00", step: "any", diff --git a/app/views/transfers/show.html.erb b/app/views/transfers/show.html.erb index 5b713b54a..a91f77591 100644 --- a/app/views/transfers/show.html.erb +++ b/app/views/transfers/show.html.erb @@ -38,20 +38,11 @@
<%= format_money @transfer.outflow_transaction.entry.amount_money * -1 %>
- <% if @transfer.has_source_fee? %> + <% if @transfer.has_fees? %>
-
<%= t(".source_fee") %>
+
<%= t(".bank_charges") %>
- -<%= format_money Money.new(@transfer.source_fee_amount, @transfer.from_account.currency) %> -
-
- <% end %> - - <% if @transfer.has_destination_fee? %> -
-
<%= t(".destination_fee") %>
-
- -<%= format_money Money.new(@transfer.destination_fee_amount, @transfer.to_account.currency) %> + -<%= format_money Money.new(@transfer.total_fee, @transfer.from_account.currency) %>
<% end %> diff --git a/config/locales/views/transfers/en.yml b/config/locales/views/transfers/en.yml index 168e45f87..8205fa490 100644 --- a/config/locales/views/transfers/en.yml +++ b/config/locales/views/transfers/en.yml @@ -7,13 +7,14 @@ en: success: Transfer removed form: amount: Amount - bank_fees: Bank fees + bank_charges: Bank Charges + outgoing_fee: Outgoing transfer fee + incoming_fee: Incoming transfer fee calculate_rate_tab: Calculate FX rate convert_tab: Convert with FX rate date: Date destination_amount: Destination amount destination_amount_display: "Destination amount: %{amount}" - destination_fee: Fee deducted from destination exchange_rate: Exchange rate exchange_rate_display: "Exchange rate: %{rate}" exchange_rate_help: Choose how to enter the transfer amount. @@ -22,7 +23,6 @@ en: income: Income select_account: Select account source_amount: Source amount - source_fee: Fee charged to source submit: Create transfer to: To transfer: Transfer @@ -46,8 +46,7 @@ en: to: To date: Date amount: Amount - source_fee: Source fee - destination_fee: Destination fee + bank_charges: Bank Charges category: Category uncategorized: Uncategorized update: diff --git a/db/schema.rb b/db/schema.rb index cf1cadecf..2a2129054 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -42,7 +42,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["account_id"], name: "index_account_shares_on_account_id" t.index ["user_id", "include_in_finances"], name: "index_account_shares_on_user_id_and_include_in_finances" t.index ["user_id"], name: "index_account_shares_on_user_id" - t.check_constraint "permission::text = ANY (ARRAY['full_control'::character varying, 'read_write'::character varying, 'read_only'::character varying]::text[])", name: "chk_account_shares_permission" + t.check_constraint "permission::text = ANY (ARRAY['full_control'::character varying::text, 'read_write'::character varying::text, 'read_only'::character varying::text])", name: "chk_account_shares_permission" end create_table "account_statements", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -91,9 +91,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.check_constraint "match_confidence IS NULL OR match_confidence >= 0::numeric AND match_confidence <= 1::numeric", name: "chk_account_statements_match_confidence" t.check_constraint "parser_confidence IS NULL OR parser_confidence >= 0::numeric AND parser_confidence <= 1::numeric", name: "chk_account_statements_parser_confidence" t.check_constraint "period_start_on IS NULL OR period_end_on IS NULL OR period_start_on <= period_end_on", name: "chk_account_statements_period_order" - t.check_constraint "review_status::text = ANY (ARRAY['unmatched'::character varying, 'linked'::character varying, 'rejected'::character varying]::text[])", name: "chk_account_statements_review_status" + t.check_constraint "review_status::text = ANY (ARRAY['unmatched'::character varying::text, 'linked'::character varying::text, 'rejected'::character varying::text])", name: "chk_account_statements_review_status" t.check_constraint "source::text = 'manual_upload'::text", name: "chk_account_statements_source" - t.check_constraint "upload_status::text = ANY (ARRAY['stored'::character varying, 'failed'::character varying]::text[])", name: "chk_account_statements_upload_status" + t.check_constraint "upload_status::text = ANY (ARRAY['stored'::character varying::text, 'failed'::character varying::text])", name: "chk_account_statements_upload_status" end create_table "accounts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -106,7 +106,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.uuid "accountable_id" t.decimal "balance", precision: 19, scale: 4 t.string "currency" - t.virtual "classification", type: :string, as: "\nCASE\n WHEN ((accountable_type)::text = ANY ((ARRAY['Loan'::character varying, 'CreditCard'::character varying, 'OtherLiability'::character varying])::text[])) THEN 'liability'::text\n ELSE 'asset'::text\nEND", stored: true + t.virtual "classification", type: :string, as: "\nCASE\n WHEN ((accountable_type)::text = ANY (ARRAY[('Loan'::character varying)::text, ('CreditCard'::character varying)::text, ('OtherLiability'::character varying)::text])) THEN 'liability'::text\n ELSE 'asset'::text\nEND", stored: true t.uuid "import_id" t.uuid "plaid_account_id" t.decimal "cash_balance", precision: 19, scale: 4, default: "0.0" @@ -547,7 +547,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["provider_key"], name: "index_debug_log_entries_on_provider_key" t.index ["source"], name: "index_debug_log_entries_on_source" t.index ["user_id"], name: "index_debug_log_entries_on_user_id" - t.check_constraint "level::text = ANY (ARRAY['debug'::character varying, 'info'::character varying, 'warn'::character varying, 'error'::character varying]::text[])", name: "chk_debug_log_entries_level" + t.check_constraint "level::text = ANY (ARRAY['debug'::character varying::text, 'info'::character varying::text, 'warn'::character varying::text, 'error'::character varying::text])", name: "chk_debug_log_entries_level" end create_table "depositories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -767,7 +767,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.string "default_account_sharing", default: "shared", null: false t.string "enabled_currencies", array: true t.datetime "last_sync_all_attempted_at" - t.check_constraint "default_account_sharing::text = ANY (ARRAY['shared'::character varying, 'private'::character varying]::text[])", name: "chk_families_default_account_sharing" + t.check_constraint "default_account_sharing::text = ANY (ARRAY['shared'::character varying::text, 'private'::character varying::text])", name: "chk_families_default_account_sharing" t.check_constraint "month_start_day >= 1 AND month_start_day <= 28", name: "month_start_day_range" end @@ -999,10 +999,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["id", "family_id"], name: "idx_import_sessions_on_id_family", unique: true t.check_constraint "client_session_id IS NULL OR btrim(client_session_id::text) <> ''::text", name: "chk_import_sessions_client_session_id_present" t.check_constraint "expected_chunks IS NULL OR expected_chunks > 0", name: "chk_import_sessions_expected_chunks_positive" - t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_import_sessions_error_details_object" t.check_constraint "import_type::text = 'SureImport'::text", name: "chk_import_sessions_import_type" - t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'importing'::character varying, 'complete'::character varying, 'failed'::character varying]::text[])", name: "chk_import_sessions_status" + t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_import_sessions_error_details_object" t.check_constraint "jsonb_typeof(summary) = 'object'::text", name: "chk_import_sessions_summary_object" + t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'importing'::character varying, 'complete'::character varying, 'failed'::character varying]::text[])", name: "chk_import_sessions_status" end create_table "import_source_mappings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -1020,10 +1020,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["import_session_id"], name: "index_import_source_mappings_on_import_session_id" t.index ["target_type", "target_id"], name: "idx_import_source_mappings_on_target" t.check_constraint "btrim(source_id::text) <> ''::text", name: "chk_import_source_mappings_source_id_present" - t.check_constraint "source_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_source_type" t.check_constraint "btrim(source_type::text) <> ''::text", name: "chk_import_source_mappings_source_type_present" - t.check_constraint "target_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_target_type" t.check_constraint "btrim(target_type::text) <> ''::text", name: "chk_import_source_mappings_target_type_present" + t.check_constraint "source_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_source_type" + t.check_constraint "target_type::text = ANY (ARRAY['Account'::character varying, 'Category'::character varying, 'Tag'::character varying, 'Merchant'::character varying, 'RecurringTransaction'::character varying, 'Transaction'::character varying, 'Budget'::character varying, 'Security'::character varying, 'Rule'::character varying]::text[])", name: "chk_import_source_mappings_target_type" end create_table "imports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -1078,9 +1078,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["import_session_id"], name: "index_imports_on_import_session_id" t.check_constraint "checksum IS NULL OR length(checksum::text) = 64", name: "chk_imports_checksum_sha256_length" t.check_constraint "client_chunk_id IS NULL OR btrim(client_chunk_id::text) <> ''::text", name: "chk_imports_client_chunk_id_present" - t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_imports_error_details_object" t.check_constraint "import_session_id IS NULL OR checksum IS NOT NULL", name: "chk_imports_session_checksum_present" t.check_constraint "import_session_id IS NULL OR sequence IS NOT NULL", name: "chk_imports_session_sequence_present" + t.check_constraint "jsonb_typeof(error_details) = 'object'::text", name: "chk_imports_error_details_object" t.check_constraint "jsonb_typeof(summary) = 'object'::text", name: "chk_imports_summary_object" t.check_constraint "sequence IS NULL OR sequence > 0", name: "chk_imports_session_sequence_positive" end @@ -1616,7 +1616,7 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["kind"], name: "index_securities_on_kind" t.index ["price_provider", "offline_reason"], name: "index_securities_on_price_provider_and_offline_reason" t.index ["price_provider"], name: "index_securities_on_price_provider" - t.check_constraint "kind::text = ANY (ARRAY['standard'::character varying, 'cash'::character varying]::text[])", name: "chk_securities_kind" + t.check_constraint "kind::text = ANY (ARRAY['standard'::character varying::text, 'cash'::character varying::text])", name: "chk_securities_kind" end create_table "security_prices", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -1966,6 +1966,8 @@ ActiveRecord::Schema[7.2].define(version: 2026_05_31_213000) do t.index ["inflow_transaction_id"], name: "index_transfers_on_inflow_transaction_id" t.index ["outflow_transaction_id"], name: "index_transfers_on_outflow_transaction_id" t.index ["status"], name: "index_transfers_on_status" + t.check_constraint "destination_fee_amount >= 0::numeric", name: "check_destination_fee_non_negative" + t.check_constraint "source_fee_amount >= 0::numeric", name: "check_source_fee_non_negative" end create_table "users", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|