From 3ef15d64c60d943b64d998449ed0eaa1dee0ac3e Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Wed, 1 Aug 2018 13:38:35 +0200 Subject: Fix display of flash messages. Pass full flash to template, and style according to flash name/type. --- src/controllers/home_controller.rs | 2 +- src/controllers/login_controller.rs | 2 +- src/controllers/users_controller.rs | 4 ++-- src/utils/mod.rs | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/controllers/home_controller.rs b/src/controllers/home_controller.rs index bef47de..38db52a 100644 --- a/src/controllers/home_controller.rs +++ b/src/controllers/home_controller.rs @@ -16,7 +16,7 @@ implement_responder_for!(IndexTemplate); fn index(flash: Option, conn: utils::DbConn) -> utils::Page { utils::Page { title: String::from("Bloggen"), - flash: flash.map_or(None, |f| Some(f.msg().to_string())), + flash: flash, content: IndexTemplate { posts: models::Post::get_all(conn).into_iter() .map(|p| ShowPostTemplate { post: p }) diff --git a/src/controllers/login_controller.rs b/src/controllers/login_controller.rs index 800a6b2..564deff 100644 --- a/src/controllers/login_controller.rs +++ b/src/controllers/login_controller.rs @@ -14,7 +14,7 @@ implement_responder_for!(LoginTemplate); pub fn new(flash: Option) -> utils::Page { utils::Page { title: String::from("Log in"), - flash: flash.map_or(None, |f| Some(f.msg().to_string())), + flash: flash, content: LoginTemplate{} } } diff --git a/src/controllers/users_controller.rs b/src/controllers/users_controller.rs index a3281de..91cfc5c 100644 --- a/src/controllers/users_controller.rs +++ b/src/controllers/users_controller.rs @@ -15,7 +15,7 @@ implement_responder_for!(UsersTemplate); fn index(flash: Option, conn: utils::DbConn) -> utils::Page { utils::Page { title: String::from("Users"), - flash: flash.map_or(None, |f| Some(f.msg().to_string())), + flash: flash, content: UsersTemplate { users: ::models::User::all(conn).unwrap() } @@ -67,7 +67,7 @@ implement_responder_for!(NewUserTemplate); fn new(flash: Option) -> utils::Page { utils::Page { title: String::from("New user"), - flash: flash.map_or(None, |f| Some(f.msg().to_string())), + flash: flash, content: NewUserTemplate { user: Default::default() } diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 57975bc..5392224 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -14,7 +14,7 @@ pub fn init_db_pool<'a>(dburl: &'a str) -> Pool { use std::ops::Deref; use rocket::http::Status; -use rocket::request::{self, FromRequest}; +use rocket::request::{self, FlashMessage, FromRequest}; use rocket::{Request, State, Outcome}; // Connection request guard type: a wrapper around an r2d2 pooled connection. @@ -44,11 +44,11 @@ impl Deref for DbConn { } } -#[derive(BartDisplay, Serialize)] +#[derive(BartDisplay)] #[template = "templates/layout.html"] pub struct Page { pub title: String, - pub flash: Option, + pub flash: Option, pub content: T } -- cgit v1.2.3