From 9331b2001d0a855bed38f5397efa39765891288b Mon Sep 17 00:00:00 2001 From: philipp Date: Thu, 2 Nov 2023 22:19:13 +0100 Subject: [PATCH 1/2] improve code with clippy --- src/model/logbook.rs | 6 +++--- src/tera/log.rs | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/model/logbook.rs b/src/model/logbook.rs index f03f209..b856afa 100644 --- a/src/model/logbook.rs +++ b/src/model/logbook.rs @@ -124,7 +124,7 @@ pub enum LogbookCreateError { impl From for LogbookCreateError { fn from(value: LogbookUpdateError) -> Self { - return match value { + match value { LogbookUpdateError::NotYourEntry => LogbookCreateError::NotYourEntry, LogbookUpdateError::TooManyRowers(a, b) => LogbookCreateError::TooManyRowers(a, b), LogbookUpdateError::RowerCreateError(a, b) => { @@ -140,7 +140,7 @@ impl From for LogbookCreateError { LogbookUpdateError::UserNotAllowedToUseBoat => { LogbookCreateError::UserNotAllowedToUseBoat } - }; + } } } @@ -429,7 +429,7 @@ ORDER BY departure DESC return Err(LogbookUpdateError::SteeringPersonNotInRowers); } - if !boat.shipmaster_allowed(&user).await && self.shipmaster != user.id { + if !boat.shipmaster_allowed(user).await && self.shipmaster != user.id { //second part: //shipmaster has //entered a diff --git a/src/tera/log.rs b/src/tera/log.rs index 013b67f..f9ee2fb 100644 --- a/src/tera/log.rs +++ b/src/tera/log.rs @@ -217,12 +217,10 @@ async fn create_kiosk( User::find_by_id(db, boat.owner.unwrap() as i32) .await .unwrap() + } else if let Some(shipmaster) = data.shipmaster { + User::find_by_id(db, shipmaster as i32).await.unwrap() } else { - if let Some(shipmaster) = data.shipmaster { - User::find_by_id(db, shipmaster as i32).await.unwrap() - } else { - User::find_by_id(db, data.rowers[0] as i32).await.unwrap() - } + User::find_by_id(db, data.rowers[0] as i32).await.unwrap() }; Log::create( db, From 95e1ea302884fa1214950b6c4005525f7469ac58 Mon Sep 17 00:00:00 2001 From: philipp Date: Fri, 3 Nov 2023 14:20:58 +0100 Subject: [PATCH 2/2] allow guests to see + upload ergo entries; show ergo menu item for guests --- src/tera/ergo.rs | 22 ++++++---------------- templates/includes/macros.html.tera | 6 ++++++ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/tera/ergo.rs b/src/tera/ergo.rs index b2a8aab..b2decf6 100644 --- a/src/tera/ergo.rs +++ b/src/tera/ergo.rs @@ -67,11 +67,7 @@ async fn reset(db: &State, _user: AdminUser) -> Flash { } #[get("/")] -async fn index( - db: &State, - user: NonGuestUser, - flash: Option>, -) -> Template { +async fn index(db: &State, user: User, flash: Option>) -> Template { let users = User::ergo(db).await; let thirty = sqlx::query_as!( @@ -94,7 +90,7 @@ async fn index( if let Some(msg) = flash { context.insert("flash", &msg.into_inner()); } - context.insert("loggedin_user", &user.user); + context.insert("loggedin_user", &user); context.insert("users", &users); context.insert("thirty", &thirty); context.insert("dozen", &dozen); @@ -113,7 +109,7 @@ pub struct ErgoToAdd<'a> { async fn new_thirty( db: &State, mut data: Form>, - created_by: NonGuestUser, + created_by: User, ) -> Flash { let user = User::find_by_id(db, data.user as i32).await.unwrap(); @@ -139,10 +135,7 @@ async fn new_thirty( Log::create( db, - format!( - "{} created thirty-ergo entry: {data:?}", - created_by.user.name - ), + format!("{} created thirty-ergo entry: {data:?}", created_by.name), ) .await; @@ -153,7 +146,7 @@ async fn new_thirty( async fn new_dozen( db: &State, mut data: Form>, - created_by: NonGuestUser, + created_by: User, ) -> Flash { let user = User::find_by_id(db, data.user as i32).await.unwrap(); @@ -179,10 +172,7 @@ async fn new_dozen( Log::create( db, - format!( - "{} created dozen-ergo entry: {data:?}", - created_by.user.name - ), + format!("{} created dozen-ergo entry: {data:?}", created_by.name), ) .await; diff --git a/templates/includes/macros.html.tera b/templates/includes/macros.html.tera index 7d53179..8cc6daf 100644 --- a/templates/includes/macros.html.tera +++ b/templates/includes/macros.html.tera @@ -78,6 +78,12 @@ + {% else %} + {% if loggedin_user.weight and loggedin_user.sex and loggedin_user.dob %} + + Ergo + + {% endif %} {% endif %} {% if loggedin_user.is_admin %}