Basic domain validation

The actual DNS check still needs to be written
This commit is contained in:
Ana Gelez 2019-07-31 23:12:07 +02:00 committed by Igor Galić
parent 60270121dc
commit da6757c55c
No known key found for this signature in database
GPG Key ID: ACFEFF7F6A123A86

View File

@ -155,10 +155,11 @@ pub fn create(form: LenientForm<NewBlogForm>, rockets: PlumeRocket) -> RespondOr
let intl = &rockets.intl.catalog; let intl = &rockets.intl.catalog;
let user = rockets.user.clone().unwrap(); let user = rockets.user.clone().unwrap();
let custom_domain = if form.custom_domain.is_empty() { let (custom_domain, dns_ok) = if form.custom_domain.is_empty() {
None (None, true)
} else { } else {
Some(Host::new(form.custom_domain.clone())) let dns_check = true; // TODO
(Some(Host::new(form.custom_domain.clone())), dns_check)
}; };
let mut errors = match form.validate() { let mut errors = match form.validate() {
@ -208,11 +209,19 @@ pub fn create(form: LenientForm<NewBlogForm>, rockets: PlumeRocket) -> RespondOr
) )
.expect("blog::create: author error"); .expect("blog::create: author error");
if dns_ok {
Flash::success( Flash::success(
Redirect::to(uri!(details: name = slug.clone(), page = _)), Redirect::to(uri!(details: name = slug.clone(), page = _)),
&i18n!(intl, "Your blog was successfully created!"), &i18n!(intl, "Your blog was successfully created!"),
) )
.into() .into()
} else {
Flash::warn(
Redirect::to(uri!(details: name = slug.clone(), page = _)),
&i18n!(intl, "Your blog was successfully created, but the custom domain seems invalid. Please check it is correct from your blog's settings."),
)
.into()
}
} }
#[post("/~/<name>/delete")] #[post("/~/<name>/delete")]