From cf9fb61f807dfa180fc235668a3045609e1c22a3 Mon Sep 17 00:00:00 2001
From: Philippe Loctaux
Date: Tue, 7 Mar 2023 19:00:14 +0100
Subject: [PATCH] setup: show flash
---
crates/ezidam/src/routes/setup.rs | 18 ++++++++++--------
crates/ezidam/templates/setup.html.tera | 8 ++++++++
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/crates/ezidam/src/routes/setup.rs b/crates/ezidam/src/routes/setup.rs
index 4518d62..6af527d 100644
--- a/crates/ezidam/src/routes/setup.rs
+++ b/crates/ezidam/src/routes/setup.rs
@@ -15,7 +15,6 @@ async fn setup_completed(_setup: CompletedSetup) -> Redirect {
#[get("/", rank = 2)]
async fn setup(flash: Option>) -> Template {
- // TODO: show flash on html page
flash
.map(|flash| Page::with_flash(Page::Setup, flash))
.unwrap_or_else(|| Page::Setup.into())
@@ -37,13 +36,16 @@ async fn create_first_account(
let form = form.into_inner();
// Parse url
- return Ok(Either::Right(Flash::new(
- Redirect::to(uri!(self::setup)),
- FlashKind::Danger,
- "Failed to parse url".to_string(),
- )));
-
- let url = Url::parse(form.url).unwrap();
+ let url = match Url::parse(form.url) {
+ Ok(url) => url,
+ Err(e) => {
+ return Ok(Either::Right(Flash::new(
+ Redirect::to(uri!(self::setup)),
+ FlashKind::Danger,
+ e.to_string(),
+ )));
+ }
+ };
// Generate UserID
let user_id = task::spawn_blocking(UserID::default).await?;
diff --git a/crates/ezidam/templates/setup.html.tera b/crates/ezidam/templates/setup.html.tera
index d6b4a84..c8d0232 100644
--- a/crates/ezidam/templates/setup.html.tera
+++ b/crates/ezidam/templates/setup.html.tera
@@ -10,6 +10,14 @@
+
+ {% if flash %}
+
+
Could not finish setup
+
{{ flash.1 }}
+
+ {% endif %}
+