Fix typos

This commit is contained in:
Mo 2023-02-25 21:35:20 +01:00
parent f36f8c7a7c
commit 411f4ee792
5 changed files with 27 additions and 27 deletions

View file

@ -7,13 +7,13 @@ use crate::config::CustomField;
/// Fields of the contact form that persist after a redirection
/// (example after failed server side validation).
#[derive(Deserialize)]
pub struct PersistantFieldContents {
pub struct PersistentFieldContents {
pub name: String,
pub email: String,
pub custom: Vec<String>,
}
impl PersistantFieldContents {
impl PersistentFieldContents {
pub fn new_empty(custom_fields: &[CustomField]) -> Self {
Self {
name: String::default(),
@ -29,7 +29,7 @@ pub struct ContactForm {
/// The id for the captcha.
pub id: u16,
#[serde(flatten)]
pub persistant_field_contents: PersistantFieldContents,
pub persistent_field_contents: PersistentFieldContents,
pub captcha_answer: String,
}
@ -64,7 +64,7 @@ impl ContactForm {
Ok(Self {
id,
persistant_field_contents: PersistantFieldContents {
persistent_field_contents: PersistentFieldContents {
name,
email,
custom,

View file

@ -11,7 +11,7 @@ use tracing::info;
use crate::{
config::{Config, StateConfig},
forms::PersistantFieldContents,
forms::PersistentFieldContents,
};
type ASmtpTransport = AsyncSmtpTransport<Tokio1Executor>;
@ -66,14 +66,14 @@ impl Mailer {
/// Sends a mail with data from the contact form.
pub async fn send(
&self,
persistant_field_contents: &PersistantFieldContents,
persistent_field_contents: &PersistentFieldContents,
config: &StateConfig,
) -> Result<()> {
let name = persistant_field_contents.name.trim().to_string();
let name = persistent_field_contents.name.trim().to_string();
let subject = config.strings.message_from.clone() + &name;
let reply_to = Mailbox::new(
Some(name),
persistant_field_contents
persistent_field_contents
.email
.parse()
.context("Failed to parse the email from the form to an address!")?,
@ -82,16 +82,16 @@ impl Mailer {
let default_fields_content = format!(
"{}: {}\n\n{}: {}\n\n\n",
config.strings.name_field.label,
persistant_field_contents.name,
persistent_field_contents.name,
config.strings.email_field.label,
persistant_field_contents.email
persistent_field_contents.email
);
let body = config
.custom_fields
.iter()
.map(|field| &field.label)
.zip(
persistant_field_contents
persistent_field_contents
.custom
.iter()
.map(|content| content.trim()),

View file

@ -14,7 +14,7 @@ use crate::{
captcha_solutions::CaptchaSolutions,
config::StateConfig,
errors::AppError,
forms::{ContactForm, PersistantFieldContents},
forms::{ContactForm, PersistentFieldContents},
mailer::Mailer,
templates,
};
@ -23,7 +23,7 @@ use crate::{
pub struct ContactFormParams<'a> {
config: Arc<StateConfig>,
captcha_solutions: Arc<Mutex<CaptchaSolutions>>,
persistant_field_contents: Option<PersistantFieldContents>,
persistent_field_contents: Option<PersistentFieldContents>,
error_message: Option<&'a str>,
}
@ -43,12 +43,12 @@ pub fn render_contact_form(params: ContactFormParams<'_>) -> Result<Response, Ap
lang: &params.config.lang,
path_prefix: &params.config.path_prefix,
},
was_validated: params.persistant_field_contents.is_some(),
was_validated: params.persistent_field_contents.is_some(),
id,
// Default is empty fields.
persistant_field_contents: params
.persistant_field_contents
.unwrap_or_else(|| PersistantFieldContents::new_empty(&params.config.custom_fields)),
persistent_field_contents: params
.persistent_field_contents
.unwrap_or_else(|| PersistentFieldContents::new_empty(&params.config.custom_fields)),
captcha: captcha_base64,
error_message: params.error_message.unwrap_or_default(),
strings: &params.config.strings,
@ -68,7 +68,7 @@ pub async fn index(
render_contact_form(ContactFormParams {
config,
captcha_solutions,
persistant_field_contents: None,
persistent_field_contents: None,
error_message: None,
})
}
@ -93,18 +93,18 @@ pub async fn submit(
return render_contact_form(ContactFormParams {
config: Arc::clone(&config),
captcha_solutions,
persistant_field_contents: Some(form.persistant_field_contents),
persistent_field_contents: Some(form.persistent_field_contents),
error_message: Some(&config.strings.error_messages.captcha_error),
});
}
if let Err(e) = mailer.send(&form.persistant_field_contents, &config).await {
if let Err(e) = mailer.send(&form.persistent_field_contents, &config).await {
error!("{e:?}");
return render_contact_form(ContactFormParams {
config: Arc::clone(&config),
captcha_solutions,
persistant_field_contents: Some(form.persistant_field_contents),
persistent_field_contents: Some(form.persistent_field_contents),
error_message: Some(&config.strings.error_messages.email_error),
});
}

View file

@ -2,7 +2,7 @@ use askama::Template;
use crate::{
config::{self, CustomField},
forms::PersistantFieldContents,
forms::PersistentFieldContents,
};
/// Base template.
@ -18,14 +18,14 @@ pub struct ContactForm<'a> {
pub base: Base<'a>,
pub was_validated: bool,
pub id: u16,
pub persistant_field_contents: PersistantFieldContents,
pub persistent_field_contents: PersistentFieldContents,
pub captcha: String,
pub error_message: &'a str,
pub strings: &'a config::Strings,
pub custom_fields: &'a Vec<CustomField>,
}
/// Sucessful contact form submission template.
/// Successful contact form submission template.
#[derive(Template)]
#[template(path = "success.askama.html")]
pub struct Success<'a> {

View file

@ -16,7 +16,7 @@
<label for="name" class="form-label">{{ strings.name_field.label }}</label>
<input type="text"
name="name"
value="{{ persistant_field_contents.name }}"
value="{{ persistent_field_contents.name }}"
class="form-control"
id="exampleInputEmail1"
required>
@ -26,7 +26,7 @@
<label for="email" class="form-label">{{ strings.email_field.label }}</label>
<input type="email"
name="email"
value="{{ persistant_field_contents.email }}"
value="{{ persistent_field_contents.email }}"
class="form-control"
id="email"
required>
@ -35,7 +35,7 @@
{% for custom_field in custom_fields %}
<div class="mb-3">
{% let value = persistant_field_contents.custom[loop.index0] %}
{% let value = persistent_field_contents.custom[loop.index0] %}
{% let required = custom_field.required_feedback.is_some() %}
<label for="{{ custom_field.key }}" class="form-label">{{ custom_field.label }}</label>