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)
|
showDescription s = printf "%-20s" (elideRight 20 s)
|
||||||
|
|
||||||
isEntryBalanced :: Entry -> Bool
|
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 :: Entry -> Entry
|
||||||
autofillEntry e@(Entry {etransactions=ts}) = e{etransactions=autofillTransactions ts}
|
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)}
|
balance t = if isnormal t then t else t{tamount = -(sumLedgerTransactions normals)}
|
||||||
|
|
||||||
sumLedgerTransactions :: [RawTransaction] -> Amount
|
sumLedgerTransactions :: [RawTransaction] -> Amount
|
||||||
sumLedgerTransactions = sum . map tamount
|
sumLedgerTransactions = sumAmounts . map tamount
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user