diff options
Diffstat (limited to 'src/controller/balance.rs')
-rw-r--r-- | src/controller/balance.rs | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/controller/balance.rs b/src/controller/balance.rs index c5d9d4a..ae6d810 100644 --- a/src/controller/balance.rs +++ b/src/controller/balance.rs @@ -2,7 +2,6 @@ use http_body_util::Full; use hyper::body::Bytes; use hyper::Response; use std::collections::HashMap; -use tera::Context; use crate::controller::utils; use crate::controller::wallet::Wallet; @@ -12,18 +11,18 @@ use crate::payer; use crate::templates; pub async fn get(wallet: &Wallet) -> Response<Full<Bytes>> { - let users = db::users::list(&wallet.pool).await; + let users = db::users::list(&wallet.db_conn).await; - let incomes_from = db::incomes::defined_for_all(&wallet.pool).await; + let incomes_from = db::incomes::defined_for_all(&wallet.db_conn).await; let user_incomes = match incomes_from { - Some(from) => db::incomes::cumulative(&wallet.pool, from).await, + Some(from) => db::incomes::cumulative(&wallet.db_conn, from).await, None => HashMap::new(), }; let template_user_incomes = get_template_user_incomes(&users, &user_incomes); let total_income: i64 = user_incomes.values().sum(); - let user_payments = db::payments::repartition(&wallet.pool).await; + let user_payments = db::payments::repartition(&wallet.db_conn).await; let template_user_payments = get_template_user_payments(&users, &user_payments); let total_payments: i64 = user_payments.iter().map(|p| p.1).sum(); @@ -31,18 +30,16 @@ pub async fn get(wallet: &Wallet) -> Response<Full<Bytes>> { let exceeding_payers = payer::exceeding(&users, &user_incomes, &user_payments); - let mut context = Context::new(); - context.insert("header", &templates::Header::Balance); - context.insert("connected_user", &wallet.user); - context.insert( - "incomes_from", - &incomes_from.map(|d| d.format("%d/%m/%Y").to_string()), + let context = minijinja::context!( + header => templates::Header::Balance, + connected_user => wallet.user, + incomes_from => incomes_from.map(|d| d.format("%d/%m/%Y").to_string()), + total_income => total_income, + user_incomes => template_user_incomes, + total_payments => total_payments, + user_payments => template_user_payments, + exceeding_payers => exceeding_payers ); - context.insert("total_income", &total_income); - context.insert("user_incomes", &template_user_incomes); - context.insert("total_payments", &total_payments); - context.insert("user_payments", &template_user_payments); - context.insert("exceeding_payers", &exceeding_payers); utils::template(&wallet.assets, &wallet.templates, "balance.html", context) } |