summaryrefslogtreecommitdiff
path: root/src/web_frontend
diff options
context:
space:
mode:
Diffstat (limited to 'src/web_frontend')
-rw-r--r--src/web_frontend/transactions.rs13
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)
}