summaryrefslogtreecommitdiff
path: root/src/web_frontend/transactions.rs
diff options
context:
space:
mode:
authorBenedict Börger <benedict@0xb8000.de>2019-04-14 19:12:21 +0200
committerBenedict Börger <benedict@0xb8000.de>2019-04-14 19:12:21 +0200
commitf28e8a59c781f24ed9399268cc2536aad0cf534d (patch)
tree5678dd6c12b5849ab15f9d63a49c9424d222390b /src/web_frontend/transactions.rs
parent7e8656cb6d086f364baeeb79a69a04555a6fd4f6 (diff)
[global] update all files
Diffstat (limited to 'src/web_frontend/transactions.rs')
-rw-r--r--src/web_frontend/transactions.rs22
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"),