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