Initial split transaction support (#1230)

* Initial split transaction support

* Add support to unsplit and edit split

* Update show.html.erb

* FIX address reviews

* Improve UX

* Update show.html.erb

* Reviews

* Update edit.html.erb

* Add parent category to dialog

* Update en.yml

* Add UI indication to totals

* FIX ui update

* Add category select like rest of app

---------

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:
soky srm
2026-03-20 21:19:30 +01:00
committed by GitHub
parent 6d22514c01
commit ae5b23fe67
24 changed files with 1284 additions and 35 deletions

View File

@@ -0,0 +1,47 @@
---
en:
splits:
new:
title: Split Transaction
description: Split this transaction into multiple entries with different categories and amounts.
submit: Split Transaction
cancel: Cancel
add_row: Add split
remove_row: Remove
remaining: Remaining
amounts_must_match: Split amounts must equal the original transaction amount.
name_label: Name
name_placeholder: Split name
amount_label: Amount
category_label: Category
uncategorized: "(uncategorized)"
original_name: "Name:"
original_date: "Date:"
original_amount: "Amount"
split_number: "Split #%{number}"
create:
success: Transaction split successfully
not_splittable: This transaction cannot be split.
destroy:
success: Transaction unsplit successfully
show:
title: Split Entries
description: This transaction has been split into the following entries.
button_title: Split Transaction
button_description: Split this transaction into multiple entries with different categories and amounts.
button: Split
unsplit_title: Unsplit Transaction
unsplit_button: Unsplit
unsplit_confirm: This will remove all split entries and restore the original transaction.
edit:
title: Edit Split
description: Modify the split entries for this transaction.
submit: Update Split
not_split: This transaction is not split.
update:
success: Split updated successfully
child:
title: Part of Split
description: This entry is part of a split transaction.
edit_split: Edit Split
unsplit: Unsplit

View File

@@ -90,6 +90,9 @@ en:
potential_duplicate_tooltip: This may be a duplicate of another transaction
review_recommended: Review
review_recommended_tooltip: Large amount difference — review recommended to check if this is a duplicate
split: Split
split_tooltip: This transaction has been split into multiple entries
split_child_tooltip: Part of a split transaction
merge_duplicate:
success: Transactions merged successfully
failure: Could not merge transactions

View File

@@ -269,6 +269,7 @@ Rails.application.routes.draw do
end
resources :transactions, only: %i[index new create show update destroy] do
resource :split, only: %i[new create edit update destroy]
resource :transfer_match, only: %i[new create]
resource :pending_duplicate_merges, only: %i[new create]
resource :category, only: :update, controller: :transaction_categories