navbar profile

This commit is contained in:
Priec
2026-06-19 13:59:31 +02:00
parent 14ae859152
commit 454d5cb349
8 changed files with 124 additions and 37 deletions

View File

@@ -126,6 +126,8 @@ fn profile_view(
"logged_in_admin": false,
"logged_in_customer": true,
"account_nav": true,
"customer_name": user.name,
"customer_account_type": user.account_type,
"saved": saved,
"error": error,
"name": user.name,
@@ -232,6 +234,8 @@ async fn orders_page(
"logged_in_admin": false,
"logged_in_customer": true,
"account_nav": true,
"customer_name": user.name,
"customer_account_type": user.account_type,
"active_orders": shape(active),
"past_orders": shape(past),
"lang": current_lang(&jar),
@@ -272,6 +276,8 @@ async fn order_detail_page(
"logged_in_admin": false,
"logged_in_customer": true,
"account_nav": true,
"customer_name": user.name,
"customer_account_type": user.account_type,
"order": order_view::detail(
&order,
settings::get(&ctx, "bank_iban").unwrap_or(""),
@@ -293,6 +299,7 @@ struct ChangePasswordForm {
fn password_view(
v: &TeraView,
jar: &CookieJar,
user: &users::Model,
changed: bool,
error: Option<&str>,
) -> Result<Response> {
@@ -303,6 +310,8 @@ fn password_view(
"logged_in_admin": false,
"logged_in_customer": true,
"account_nav": true,
"customer_name": user.name,
"customer_account_type": user.account_type,
"changed": changed,
"error": error,
"lang": current_lang(jar),
@@ -322,7 +331,7 @@ async fn change_password_page(
if guard::is_admin(&ctx, &user) {
return format::redirect("/admin/dashboard");
}
password_view(&v, &jar, false, None)
password_view(&v, &jar, &user, false, None)
}
#[debug_handler]
@@ -339,18 +348,19 @@ async fn change_password(
return format::redirect("/admin/dashboard");
}
if !user.verify_password(&form.current_password) {
return password_view(&v, &jar, false, Some("current"));
return password_view(&v, &jar, &user, false, Some("current"));
}
if form.password != form.password_confirm {
return password_view(&v, &jar, false, Some("mismatch"));
return password_view(&v, &jar, &user, false, Some("mismatch"));
}
if form.password.len() < 8 {
return password_view(&v, &jar, false, Some("weak"));
return password_view(&v, &jar, &user, false, Some("weak"));
}
user.into_active_model()
let user = user
.into_active_model()
.reset_password(&ctx.db, &form.password)
.await?;
password_view(&v, &jar, true, None)
password_view(&v, &jar, &user, true, None)
}
pub fn routes() -> Routes {