aboutsummaryrefslogtreecommitdiffstats
path: root/src/controllers/posts_controller.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/posts_controller.rs')
-rw-r--r--src/controllers/posts_controller.rs30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/controllers/posts_controller.rs b/src/controllers/posts_controller.rs
index a8c5e1c..38618d3 100644
--- a/src/controllers/posts_controller.rs
+++ b/src/controllers/posts_controller.rs
@@ -4,16 +4,20 @@ use utils;
#[derive(BartDisplay)]
#[template = "templates/new_post.html"]
-pub struct NewPostTemplate<'a> {
- title: &'a str,
+pub struct NewPostTemplate {
post: ::models::NewPost
}
-implement_responder_for!(NewPostTemplate<'a>);
+implement_responder_for!(NewPostTemplate);
#[get("/new", format = "text/html")]
-fn new<'a>(_conn: utils::DbConn) -> NewPostTemplate<'a> {
- NewPostTemplate { title: "Bloggen", post: Default::default() }
+fn new(_conn: utils::DbConn) -> utils::Page<NewPostTemplate> {
+ utils::Page {
+ title: String::from("New post"),
+ content: NewPostTemplate {
+ post: Default::default()
+ }
+ }
}
#[post("/create", data="<post>")]
@@ -31,9 +35,14 @@ pub struct ShowPostTemplate {
implement_responder_for!(ShowPostTemplate);
#[get("/<id>", format = "text/html")]
-fn show<'a>(id: i32, conn: utils::DbConn) -> ShowPostTemplate {
+fn show(id: i32, conn: utils::DbConn) -> utils::Page<ShowPostTemplate> {
let p = ::models::Post::get(id, conn);
- ShowPostTemplate { post: p }
+ utils::Page {
+ title: p.title.clone(),
+ content: ShowPostTemplate {
+ post: p
+ },
+ }
}
#[derive(BartDisplay)]
@@ -45,9 +54,12 @@ pub struct EditPostTemplate {
implement_responder_for!(EditPostTemplate);
#[get("/<id>/edit", format = "text/html")]
-fn edit(id: i32, conn: utils::DbConn) -> EditPostTemplate {
+fn edit(id: i32, conn: utils::DbConn) -> utils::Page<EditPostTemplate> {
let p = ::models::Post::get(id, conn);
- EditPostTemplate { post: p }
+ utils::Page {
+ title: String::from("Edit post"),
+ content: EditPostTemplate { post: p }
+ }
}
#[post("/update", data="<post>")]