diff options
| -rw-r--r-- | src/web_frontend/transactions.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/web_frontend/transactions.rs b/src/web_frontend/transactions.rs index 1b6d22c..d17f50d 100644 --- a/src/web_frontend/transactions.rs +++ b/src/web_frontend/transactions.rs @@ -67,12 +67,19 @@ pub fn transaction_handler(start : Option<&RawStr>, end : Option<&RawStr>, let t = acc.transactions; // apply parameters // apply date filters + let date_range = crate::web_frontend::util::DateRange::new(date_start, date_end); + let mut t_filtered = Vec::new(); + for date in date_range { + let tc = t.clone(); + let mut tmp : Vec<_> = tc.into_iter().filter(|x| x.date.month() == date.month() && x.date.year() == date.year()).collect(); + t_filtered.append(&mut tmp); + } - // apply filter - let ft = apply_transaction_filter(transaction_filter, t); + // apply filter + let ft = apply_transaction_filter(transaction_filter.clone(), t_filtered); let context = TransactionContext { transactions: ft, account_name : String::from("Girokonto"), - filter : String::from(""), date_start : date_start.to_string()[0..7].to_string(), + filter : transaction_filter, date_start : date_start.to_string()[0..7].to_string(), date_end : date_end.to_string()[0..7].to_string()}; Template::render("transaction", context) } |
