Check for existing slug before creating a new blog

Fix #63
This commit is contained in:
Bat 2018-06-19 19:40:20 +01:00
parent e8d62e150a
commit 1653a3ac74

View File

@ -59,6 +59,9 @@ fn create(conn: DbConn, data: Form<NewBlogForm>, user: User) -> Redirect {
let form = data.get(); let form = data.get();
let slug = utils::make_actor_id(form.title.to_string()); let slug = utils::make_actor_id(form.title.to_string());
if Blog::find_local(&*conn, slug.clone()).is_some() {
Redirect::to(uri!(new))
} else {
let blog = Blog::insert(&*conn, NewBlog::new_local( let blog = Blog::insert(&*conn, NewBlog::new_local(
slug.to_string(), slug.to_string(),
form.title.to_string(), form.title.to_string(),
@ -74,6 +77,7 @@ fn create(conn: DbConn, data: Form<NewBlogForm>, user: User) -> Redirect {
}); });
Redirect::to(format!("/~/{}/", slug)) Redirect::to(format!("/~/{}/", slug))
}
} }
#[get("/~/<name>/outbox")] #[get("/~/<name>/outbox")]