fix register totals when using --display

This commit is contained in:
Simon Michael 2009-01-17 20:00:45 +00:00
parent ebdf67a5ab
commit b9bee776b5

View File

@ -29,11 +29,14 @@ DDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA
-} -}
showRegisterReport :: [Opt] -> [String] -> Ledger -> String showRegisterReport :: [Opt] -> [String] -> Ledger -> String
showRegisterReport opts args l showRegisterReport opts args l
| interval == NoInterval = showtxns ts nulltxn nullmixedamt | interval == NoInterval = showtxns displayedts nulltxn startbal
| otherwise = showtxns summaryts nulltxn nullmixedamt | otherwise = showtxns summaryts nulltxn startbal
where where
interval = intervalFromOpts opts interval = intervalFromOpts opts
ts = filter (not . isZeroMixedAmount . amount) $ filter (matchdisplayopt dopt) $ filter matchapats $ ledgerTransactions l ts = filter (not . isZeroMixedAmount . amount) $ filter matchapats $ ledgerTransactions l
(precedingts, ts') = break (matchdisplayopt dopt) ts
(displayedts, _) = span (matchdisplayopt dopt) ts'
startbal = sumTransactions precedingts
matchapats t = matchpats apats $ account t matchapats t = matchpats apats $ account t
apats = fst $ parseAccountDescriptionArgs opts args apats = fst $ parseAccountDescriptionArgs opts args
matchdisplayopt Nothing t = True matchdisplayopt Nothing t = True
@ -43,7 +46,7 @@ showRegisterReport opts args l
depth = depthFromOpts opts depth = depthFromOpts opts
summaryts = concatMap summarisespan (zip spans [1..]) summaryts = concatMap summarisespan (zip spans [1..])
summarisespan (s,n) = summariseTransactionsInDateSpan s n depth empty (transactionsinspan s) summarisespan (s,n) = summariseTransactionsInDateSpan s n depth empty (transactionsinspan s)
transactionsinspan s = filter (isTransactionInDateSpan s) ts transactionsinspan s = filter (isTransactionInDateSpan s) displayedts
spans = splitSpan interval (ledgerDateSpan l) spans = splitSpan interval (ledgerDateSpan l)
-- | Convert a date span (representing a reporting interval) and a list of -- | Convert a date span (representing a reporting interval) and a list of