Journal: make reordering optional in journalFinalise
				
					
				
			Currently `journalFinalise` always reverses the order of entries. However, if there are automated transactions, we might need to run it twice. This adds a boolean flag to make reordering optional. This will be used in the `parseAndFinaliseJournal` functions.
This commit is contained in:
		
							parent
							
								
									c53502e1ac
								
							
						
					
					
						commit
						b346d7f701
					
				| @ -523,19 +523,21 @@ filterJournalTransactionsByAccount apats j@Journal{jtxns=ts} = j{jtxns=filter tm | ||||
| -- use.  Reverse parsed data to normal order, standardise amount | ||||
| -- formats, check/ensure that transactions are balanced, and maybe | ||||
| -- check balance assertions. | ||||
| journalFinalise :: ClockTime -> FilePath -> Text -> Bool -> ParsedJournal -> Either String Journal | ||||
| journalFinalise t path txt assrt j@Journal{jfiles=fs} = | ||||
|   journalTieTransactions <$>  | ||||
|   (journalBalanceTransactions assrt $ | ||||
|    journalApplyCommodityStyles $ | ||||
|    j {jfiles        = (path,txt) : reverse fs | ||||
|      ,jlastreadtime = t | ||||
|      ,jdeclaredaccounts = reverse $ jdeclaredaccounts j | ||||
|      ,jtxns         = reverse $ jtxns j         -- NOTE: see addTransaction | ||||
|      ,jtxnmodifiers = reverse $ jtxnmodifiers j -- NOTE: see addTransactionModifier | ||||
|      ,jperiodictxns = reverse $ jperiodictxns j -- NOTE: see addPeriodicTransaction | ||||
|      ,jmarketprices = reverse $ jmarketprices j -- NOTE: see addMarketPrice | ||||
|      }) | ||||
| journalFinalise :: ClockTime -> FilePath -> Text -> Bool -> Bool -> ParsedJournal -> Either String Journal | ||||
| journalFinalise t path txt reorder assrt j@Journal{jfiles=fs} = | ||||
|   let j' = if reorder | ||||
|            then j {jfiles        = (path,txt) : reverse fs | ||||
|                   ,jlastreadtime = t | ||||
|                   ,jdeclaredaccounts = reverse $ jdeclaredaccounts j | ||||
|                   ,jtxns         = reverse $ jtxns j         -- NOTE: see addTransaction | ||||
|                   ,jtxnmodifiers = reverse $ jtxnmodifiers j -- NOTE: see addTransactionModifier | ||||
|                   ,jperiodictxns = reverse $ jperiodictxns j -- NOTE: see addPeriodicTransaction | ||||
|                   ,jmarketprices = reverse $ jmarketprices j -- NOTE: see addMarketPrice | ||||
|                   } | ||||
|            else j | ||||
|   in journalTieTransactions <$> | ||||
|      (journalBalanceTransactions assrt $ journalApplyCommodityStyles j') | ||||
| 
 | ||||
| 
 | ||||
| journalNumberAndTieTransactions = journalTieTransactions . journalNumberTransactions | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user