From ea89962664911614978026670ee96d514ae227b4 Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Sun, 6 Apr 2025 16:21:48 +0200 Subject: [PATCH] don't panic :-) --- db.sqlite | Bin 36864 -> 36864 bytes src/station/routes.rs | 31 +++++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/db.sqlite b/db.sqlite index 18cdbb4d88c0a08c51ace938801e39c376e3aa83..52dfd8e7a98533af60c6737ac5c19cab264af7ce 100644 GIT binary patch delta 154 zcmZozz|^pSX@WGP;6xc`M!}5&70&U?2{UUmA{&;OpU1?{%)ukdd*gfwPghp|Kz%OqHRDqk)05nYkMmP#GitZwCI~{O|eSZx%Fo W$j{Bn%+F}d43uCq+WbqOEdc;0MjG7! diff --git a/src/station/routes.rs b/src/station/routes.rs index 9f2614c..087ac66 100644 --- a/src/station/routes.rs +++ b/src/station/routes.rs @@ -21,15 +21,25 @@ async fn create( session: Session, Form(form): Form, ) -> impl IntoResponse { - Station::create(&db, &form.name).await.unwrap(); - + match Station::create(&db, &form.name).await{ +Ok(_) => session .insert( "succ", &format!("Station '{}' erfolgreich erstellt!", form.name), ) .await - .unwrap(); + .unwrap(), + Err(e) => + session + .insert( + "err", + &format!("Station '{}' konnte _NICHT_ erstellt werden, da es bereits eine Station mit diesem Namen gibt ({e})!", form.name), + ) + .await + .unwrap(), + + } Redirect::to("/station") } @@ -70,14 +80,23 @@ async fn index(State(db): State>, session: Session) -> Markup { let stations = Station::all(&db).await; // Get and clear flash message - let flash_message = session.get::("succ").await.unwrap_or(None); - if flash_message.is_some() { + let succ_msg = session.get::("succ").await.unwrap_or(None); + if succ_msg.is_some() { session.remove::("succ").await.unwrap(); } + let err_msg = session.get::("err").await.unwrap_or(None); + if err_msg.is_some() { + session.remove::("err").await.unwrap(); + } html! { h1 { "Stationen" } - @if let Some(message) = flash_message { + @if let Some(message) = succ_msg { + div class="alert alert-success" { + (message) + } + } + @if let Some(message) = err_msg { div class="alert alert-success" { (message) }