nicer messages; don't panic
This commit is contained in:
parent
5eb1df221b
commit
67a67c1688
18
src/route.rs
18
src/route.rs
@ -123,11 +123,12 @@ DROP TABLE temp_pos;",
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn delete(&self, db: &SqlitePool) {
|
async fn delete(&self, db: &SqlitePool) -> Result<(), String> {
|
||||||
sqlx::query!("DELETE FROM route WHERE id = ?", self.id)
|
sqlx::query!("DELETE FROM route WHERE id = ?", self.id)
|
||||||
.execute(db)
|
.execute(db)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.map_err(|e| e.to_string())?;
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn stations(&self, db: &SqlitePool) -> Vec<Station> {
|
async fn stations(&self, db: &SqlitePool) -> Vec<Station> {
|
||||||
@ -178,7 +179,7 @@ async fn index(State(db): State<Arc<SqlitePool>>, session: Session) -> Markup {
|
|||||||
em { "Routen " }
|
em { "Routen " }
|
||||||
"definieren welche "
|
"definieren welche "
|
||||||
a href="/station" { "Stationen" }
|
a href="/station" { "Stationen" }
|
||||||
" in welcher Reihenfolge abgeklappert werden sollen. Wenn es verschiedene Kategorien (zB Kinder- und Erwachsenenwertung) gibt, kannst du auch mehrere Routen mit (teils) überlappenden Stationen erstellen."
|
" von den Teilnehmern in welcher Reihenfolge abgeklappert werden sollen. Wenn es verschiedene Kategorien (zB Kinder- und Erwachsenenwertung) gibt, kannst du auch mehrere Routen mit (teils) überlappenden Stationen erstellen."
|
||||||
}
|
}
|
||||||
ol {
|
ol {
|
||||||
@for route in &routes{
|
@for route in &routes{
|
||||||
@ -250,9 +251,14 @@ async fn delete(
|
|||||||
return Redirect::to("/route");
|
return Redirect::to("/route");
|
||||||
};
|
};
|
||||||
|
|
||||||
route.delete(&db).await;
|
match route.delete(&db).await {
|
||||||
|
Ok(_) => succ!(session, "Route '{}' erfolgreich gelöscht!", route.name),
|
||||||
succ!(session, "Route '{}' erfolgreich gelöscht!", route.name);
|
Err(e) => err!(
|
||||||
|
session,
|
||||||
|
"Route '{}' kann nicht gelöscht werden, da sie bereits verwendet wird. ({e})",
|
||||||
|
route.name
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
Redirect::to("/route")
|
Redirect::to("/route")
|
||||||
}
|
}
|
||||||
|
@ -171,7 +171,7 @@ async fn view(
|
|||||||
}
|
}
|
||||||
@if station.lat.is_some() && station.lng.is_some() {
|
@if station.lat.is_some() && station.lng.is_some() {
|
||||||
a href=(format!("/station/{}/location-clear", station.id))
|
a href=(format!("/station/{}/location-clear", station.id))
|
||||||
onclick="return confirm('Bist du sicher, dass du den Standort der Station löschen willst? Das kann _NICHT_ mehr rückgängig gemacht werden.');"{
|
onclick="return confirm('Bist du sicher, dass du den Standort der Station löschen willst?');"{
|
||||||
"Standort löschen"
|
"Standort löschen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user