diff options
Diffstat (limited to 'src/controllers/posts_controller.rs')
-rw-r--r-- | src/controllers/posts_controller.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/controllers/posts_controller.rs b/src/controllers/posts_controller.rs index 38618d3..5fdd60e 100644 --- a/src/controllers/posts_controller.rs +++ b/src/controllers/posts_controller.rs @@ -1,5 +1,5 @@ use rocket::request::Form; -use rocket::response::Redirect; +use rocket::response::{Flash, Redirect}; use utils; #[derive(BartDisplay)] @@ -14,6 +14,7 @@ implement_responder_for!(NewPostTemplate); fn new(_conn: utils::DbConn) -> utils::Page<NewPostTemplate> { utils::Page { title: String::from("New post"), + flash: None, content: NewPostTemplate { post: Default::default() } @@ -21,9 +22,9 @@ fn new(_conn: utils::DbConn) -> utils::Page<NewPostTemplate> { } #[post("/create", data="<post>")] -fn create(post: Form<::models::NewPost>, conn: utils::DbConn) -> Redirect { +fn create(post: Form<::models::NewPost>, conn: utils::DbConn) -> Flash<Redirect> { ::models::Post::create(post.get(), conn); - Redirect::to("/") + Flash::success(Redirect::to("/"), "Post successfully created!") } #[derive(BartDisplay)] @@ -39,6 +40,7 @@ fn show(id: i32, conn: utils::DbConn) -> utils::Page<ShowPostTemplate> { let p = ::models::Post::get(id, conn); utils::Page { title: p.title.clone(), + flash: None, content: ShowPostTemplate { post: p }, @@ -58,18 +60,19 @@ fn edit(id: i32, conn: utils::DbConn) -> utils::Page<EditPostTemplate> { let p = ::models::Post::get(id, conn); utils::Page { title: String::from("Edit post"), + flash: None, content: EditPostTemplate { post: p } } } #[post("/update", data="<post>")] -fn update(post: Form<::models::Post>, conn: utils::DbConn) -> Redirect { +fn update(post: Form<::models::Post>, conn: utils::DbConn) -> Flash<Redirect> { ::models::Post::update(post.get(), conn); - Redirect::to("/") + Flash::success(Redirect::to("/"), "Post updated successfully!") } #[get("/<id>/delete", format = "text/html")] -fn delete(id: i32, conn: utils::DbConn) -> Redirect { +fn delete(id: i32, conn: utils::DbConn) -> Flash<Redirect> { ::models::Post::delete(id, conn); - Redirect::to("/") + Flash::success(Redirect::to("/"), "Post deleted!") } |