require a balanced entry to have just one commodity, for now
This commit is contained in:
parent
3138046744
commit
f99963786c
@ -39,7 +39,10 @@ showDate d = printf "%-10s" d
|
||||
showDescription s = printf "%-20s" (elideRight 20 s)
|
||||
|
||||
isEntryBalanced :: Entry -> Bool
|
||||
isEntryBalanced = isZeroAmount . sumLedgerTransactions . etransactions
|
||||
isEntryBalanced (Entry {etransactions=ts}) = isZeroAmount sum && numcommodities==1
|
||||
where
|
||||
sum = sumLedgerTransactions ts
|
||||
numcommodities = length $ nub $ map (commodity . tamount) ts
|
||||
|
||||
autofillEntry :: Entry -> Entry
|
||||
autofillEntry e@(Entry {etransactions=ts}) = e{etransactions=autofillTransactions ts}
|
||||
|
||||
@ -37,4 +37,4 @@ autofillTransactions ts =
|
||||
balance t = if isnormal t then t else t{tamount = -(sumLedgerTransactions normals)}
|
||||
|
||||
sumLedgerTransactions :: [RawTransaction] -> Amount
|
||||
sumLedgerTransactions = sum . map tamount
|
||||
sumLedgerTransactions = sumAmounts . map tamount
|
||||
|
||||
Loading…
Reference in New Issue
Block a user