Form refill

This commit is contained in:
Pascal Engélibert 2022-10-22 15:13:38 +02:00
commit 34ae3d3ec4
Signed by: tuxmain
GPG key ID: 3504BC6D362F7DCA
2 changed files with 19 additions and 8 deletions

View file

@ -18,7 +18,14 @@ pub async fn run_server(config: Arc<Config>, dbs: Dbs, templates: Arc<Templates>
let templates = templates.clone();
let dbs = dbs.clone();
move |req: tide::Request<()>| {
serve_comments(req, config.clone(), templates.clone(), dbs.clone(), &[])
serve_comments(
req,
config.clone(),
templates.clone(),
dbs.clone(),
&[],
Context::new(),
)
}
});
app.at(&format!("{}t/:topic", config.root_url)).post({
@ -57,9 +64,8 @@ async fn serve_comments<'a>(
templates: Arc<Templates>,
dbs: Dbs,
errors: &[String],
mut context: Context,
) -> tide::Result<tide::Response> {
dbg!(req.peer_addr());
let Ok(topic) = req.param("topic") else {
return Err(tide::Error::from_str(404, "No topic"))
};
@ -70,7 +76,7 @@ async fn serve_comments<'a>(
let topic_hash = TopicHash::from_topic(topic);
let mut context = Context::new();
//let mut context = Context::new();
context.insert("config", &config);
context.insert("admin", &admin);
context.insert("new_comment_errors", errors);
@ -214,6 +220,7 @@ async fn handle_post_comments(
};
let mut errors = Vec::new();
let mut context = Context::new();
match req.body_form::<CommentQuery>().await? {
CommentQuery::NewComment(query) => {
@ -281,11 +288,15 @@ async fn handle_post_comments(
.map_err(|e| error!("Adding pending comment: {:?}", e))
.ok();
notify_send.send(()).ok();
} else {
context.insert("new_comment_author", &query.author);
context.insert("new_comment_email", &query.email);
context.insert("new_comment_text", &query.text);
}
}
_ => {}
}
serve_comments(req, config, templates, dbs, &errors).await
serve_comments(req, config, templates, dbs, &errors, context).await
}
async fn handle_post_admin(