Skip to content

feat(transactions): generate default transfer memo for XFER_INTERNAL (#65)#87

Merged
tswarren merged 2 commits intomainfrom
feature/65-transfer-memo-defaults
Mar 9, 2026
Merged

feat(transactions): generate default transfer memo for XFER_INTERNAL (#65)#87
tswarren merged 2 commits intomainfrom
feature/65-transfer-memo-defaults

Conversation

@tswarren
Copy link
Contributor

@tswarren tswarren commented Mar 9, 2026

Summary

  • Generate default memo Internal transfer: {source_account_number} → {destination_account_number} for XFER_INTERNAL when memo is blank
  • Server-side fallback in Request.from_form via optional account_numbers; controller performs lightweight lookup for XFER_INTERNAL
  • Client-side workstation autofill when both transfer accounts selected; preserves operator edits and regenerates only when memo was autofilled

Test plan

  • bundle exec rails test test/services/transaction_entry/request_test.rb test/controllers/transactions_controller_test.rb passes
  • Manual: open /transactions/new, select XFER_INTERNAL, pick source and destination -> memo autofills with Internal transfer: 1001 → 3001
  • Manual: edit memo, change accounts -> manual value preserved
  • Manual: blank memo, preview -> confirm -> posted memo matches generated default

Data / migration impact

  • None

Financial logic risk

UI notes

  • Memo textarea autofills when transfer accounts are selected. Operator edits are preserved.

Made with Cursor

Thomas Sycko-Miller added 2 commits March 9, 2026 21:35
…65) - Add TransactionEntry::Request default_transfer_memo_if_blank helper - Controller passes account_numbers for XFER_INTERNAL when memo blank - Workstation JS autofill memo on transfer account selection; preserve edits - Add request and controller tests for defaults, overrides, preview preservation Made-with: Cursor
@tswarren tswarren merged commit 32c65ee into main Mar 9, 2026
4 checks passed
@tswarren tswarren deleted the feature/65-transfer-memo-defaults branch March 9, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant