feat(handlers/render): Display edit form for user's own posts

Displays an edit form for posts that are owned by a user (which is
currently defined as "email addresses match").
This commit is contained in:
Vincent Ambo 2018-04-15 23:09:44 +02:00
parent 7a55786552
commit 705097dab9
5 changed files with 63 additions and 2 deletions

View file

@ -200,7 +200,7 @@ impl Handler<NewThreadPage> for Renderer {
type Result = Result<String>;
fn handle(&mut self, msg: NewThreadPage, _: &mut Self::Context) -> Self::Result {
let ctx: FormContext = FormContext {
let ctx = FormContext {
alerts: msg.alerts,
title: msg.title,
post: msg.post,
@ -210,6 +210,28 @@ impl Handler<NewThreadPage> for Renderer {
}
}
/// Message used to render post editing page.
pub struct EditPostPage {
pub id: i32,
pub post: String,
}
message!(EditPostPage, Result<String>);
impl Handler<EditPostPage> for Renderer {
type Result = Result<String>;
fn handle(&mut self, msg: EditPostPage, _: &mut Self::Context) -> Self::Result {
let ctx = FormContext {
mode: EditingMode::EditPost,
id: Some(msg.id),
post: Some(msg.post),
..Default::default()
};
Ok(self.tera.render("post.html", &ctx)?)
}
}
/// Message used to render search results
#[derive(Serialize)]
pub struct SearchResultPage {