From b042115692d0374773f252055aefe7eefc77fd61 Mon Sep 17 00:00:00 2001 From: Michael Rees Date: Thu, 29 May 2025 10:28:36 -0500 Subject: [PATCH] Ignore assertions during add with -I --- hledger-lib/Hledger/Data/Balancing.hs | 2 +- hledger/Hledger/Cli/Commands/Add.hs | 3 ++- hledger/test/add.test | 14 +++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/hledger-lib/Hledger/Data/Balancing.hs b/hledger-lib/Hledger/Data/Balancing.hs index 4e54d4b18..528d6f515 100644 --- a/hledger-lib/Hledger/Data/Balancing.hs +++ b/hledger-lib/Hledger/Data/Balancing.hs @@ -155,7 +155,7 @@ transactionCheckAssertions bopts j t = if (ignore_assertions_ bopts) || noassertions t then Right t else do j' <- journalStyleAmounts j let newtxns = sortOn tdate (jtxns j' ++ [ t ]) - case journalBalanceTransactions defbalancingopts j'{jtxns = newtxns} of + case journalBalanceTransactions bopts j'{jtxns = newtxns} of Right _ -> Right t Left e -> Left e where diff --git a/hledger/Hledger/Cli/Commands/Add.hs b/hledger/Hledger/Cli/Commands/Add.hs index 76c68a901..6c6bd02f6 100644 --- a/hledger/Hledger/Cli/Commands/Add.hs +++ b/hledger/Hledger/Cli/Commands/Add.hs @@ -248,7 +248,8 @@ confirmedTransactionWizard prevInput es@EntryState{..} stack@(currentStage : _) dummytxn = nulltransaction{tpostings = esPostings ++ [p, post "" missingamt] ,tdate = txnDate txnParams ,tdescription = txnDesc txnParams } - validated = balanceTransaction defbalancingopts dummytxn >>= transactionCheckAssertions defbalancingopts esJournal + bopts = balancingopts_ (inputopts_ esOpts) + validated = balanceTransaction bopts dummytxn >>= transactionCheckAssertions bopts esJournal case validated of Left err -> do liftIO (hPutStrLn stderr err) diff --git a/hledger/test/add.test b/hledger/test/add.test index fba1cd7c1..01050c732 100644 --- a/hledger/test/add.test +++ b/hledger/test/add.test @@ -220,8 +220,20 @@ $ rm -f nosuch.journal; hledger -f nosuch.journal add; rm -f nosuch.journal > /\(a\)[[:space:]]+3 = 3 ; date:2025-05-01/ >2 // +## 16. Verify that -I skips assertions +< +2025-05-10 +x +a +10 USD = 20 USD +b +-10 USD +. +$ rm -f nosuch.journal; hledger -f nosuch.journal -I add; rm -f nosuch.journal +> /Save this transaction to the journal/ +>2 // -## 16. shouldn't add decimals if there aren't any +## 17. shouldn't add decimals if there aren't any ## printf '\n\na\n1\nb\n' | hledger -f /dev/null add # < #