Fix displaying not found page when submitting a duplicated blocklist email

Signed-off-by: Serra Allgood <serra@allgood.dev>
This commit is contained in:
Serra Allgood 2020-10-05 20:17:30 -07:00
parent 003dcf861a
commit 43fde90387

View File

@ -210,11 +210,19 @@ pub fn add_email_blocklist(
form: LenientForm<NewBlocklistedEmail>, form: LenientForm<NewBlocklistedEmail>,
rockets: PlumeRocket, rockets: PlumeRocket,
) -> Result<Flash<Redirect>, ErrorPage> { ) -> Result<Flash<Redirect>, ErrorPage> {
BlocklistedEmail::insert(&*rockets.conn, form.0)?; let result = BlocklistedEmail::insert(&*rockets.conn, form.0);
Ok(Flash::success(
Redirect::to(uri!(admin_email_blocklist: page = None)), if let Err(Error::Db(_)) = result {
i18n!(rockets.intl.catalog, "Email Blocked"), Ok(Flash::error(
)) Redirect::to(uri!(admin_email_blocklist: page = None)),
i18n!(rockets.intl.catalog, "Email already blocked")
))
} else {
Ok(Flash::success(
Redirect::to(uri!(admin_email_blocklist: page = None)),
i18n!(rockets.intl.catalog, "Email Blocked"),
))
}
} }
#[get("/admin/emails?<page>")] #[get("/admin/emails?<page>")]
pub fn admin_email_blocklist( pub fn admin_email_blocklist(