add old flash to realtion create

This commit is contained in:
2021-02-11 21:57:23 +01:00
parent d43ddfa8bd
commit 780ad36696
3 changed files with 22 additions and 10 deletions
+17 -1
View File
@@ -30,6 +30,19 @@ pub(crate) async fn create_form(
debug!("ID = {}", object_id);
if let Ok(Some(form)) = session.take::<RelationModelCreateForm>("old") {
context.insert("old", &form);
} else {
context.insert("old", &RelationModelCreateForm {
object: Default::default(),
name: "".to_string(),
reciprocal_name: "".to_string(),
optional: false,
multiple: false,
related: Default::default()
});
}
let object = rg.get_object_model(object_id.parse_or_bad_request()?)
.ok_or_else(|| actix_web::error::ErrorNotFound("No such source object"))?;
@@ -40,10 +53,12 @@ pub(crate) async fn create_form(
context.insert("models", &models);
context.insert("object", &object);
TERA.build_response("relation_create", &context)
}
#[derive(Deserialize)]
#[derive(Serialize,Deserialize)]
pub(crate) struct RelationModelCreateForm {
pub object: ID,
pub name: String,
@@ -80,6 +95,7 @@ pub(crate) async fn create(
Err(e) => {
warn!("Error creating relation model: {}", e);
session.flash_error(e.to_string());
session.set("old", &form);
redirect(format!("/model/relation/create/{}", form.object))
}
}