diff options
| author | Benedict Börger <benedict@0xb8000.de> | 2019-04-14 19:12:21 +0200 |
|---|---|---|
| committer | Benedict Börger <benedict@0xb8000.de> | 2019-04-14 19:12:21 +0200 |
| commit | f28e8a59c781f24ed9399268cc2536aad0cf534d (patch) | |
| tree | 5678dd6c12b5849ab15f9d63a49c9424d222390b /src/web_frontend/transactions.rs | |
| parent | 7e8656cb6d086f364baeeb79a69a04555a6fd4f6 (diff) | |
[global] update all files
Diffstat (limited to 'src/web_frontend/transactions.rs')
| -rw-r--r-- | src/web_frontend/transactions.rs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/web_frontend/transactions.rs b/src/web_frontend/transactions.rs index 417ca96..28e2dd1 100644 --- a/src/web_frontend/transactions.rs +++ b/src/web_frontend/transactions.rs @@ -1,5 +1,6 @@ use parsers::csv::CsvFile; -use crate::banking::Account; +use crate::banking::account::Account; +use crate::banking::asset::Asset; //use parsers::ini::IniFile; use std::collections::HashMap; use rocket_contrib::templates::Template; @@ -22,7 +23,7 @@ use chrono::Datelike; */ #[derive(Serialize)] struct TransactionContext { - transactions : Vec<crate::banking::Transaction>, + transactions : Vec<crate::banking::account::Transaction>, account_name : String, filter : String, date_start : String, @@ -35,13 +36,16 @@ pub struct TransactionFilter { } impl TransactionFilter { - pub fn apply_filter(&self, transactions : Vec<crate::banking::Transaction>) -> Vec<crate::banking::Transaction> { - let transactions = CsvFile::from_file("data/t.csv", ";", true); - let t : Vec<crate::banking::Transaction> ; + pub fn apply_filter(&self, transactions : Vec<crate::banking::account::Transaction>) -> Vec<crate::banking::account::Transaction> { + let asset_ini = "data/asset.ini"; + let asset : Asset = crate::banking::asset::Asset::from_ini_file(asset_ini); + let transactions = asset.get_account_by_name("Girokonto"); + let acc; match transactions { - Ok(trans) => t = crate::banking::Transaction::from_sparkasse_csv_file(trans), - Err(e) => panic!("could not read file {:?}", e) + Some(trans) => acc = trans, + None => panic!("could not read file") } + let t = acc.transactions; //self.filter.split("=").collect::<Vec<&str>>(); let re = Regex::new(&self.filter).unwrap(); let tmp = t.into_iter().filter(|transaction| re.is_match(&transaction.sender_name) || re.is_match(&transaction.reference) ).collect(); @@ -89,9 +93,9 @@ pub fn transaction_handler(start : Option<&RawStr>, end : Option<&RawStr>) -> ro None => Utc::today().naive_utc() }; let transactions = CsvFile::from_file("data/t.csv", ";", true); - let t : Vec<crate::banking::Transaction> ; + let t : Vec<crate::banking::account::Transaction> ; match transactions { - Ok(trans) => t = crate::banking::Transaction::from_sparkasse_csv_file(trans), + Ok(trans) => t = crate::banking::account::Transaction::from_sparkasse_csv_file(trans), Err(e) => panic!("could not read file {:?}", e) } let context = TransactionContext { transactions: t, account_name : String::from("Girokonto"), |
