Fix typos
This commit is contained in:
parent
f36f8c7a7c
commit
411f4ee792
5 changed files with 27 additions and 27 deletions
|
@ -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,
|
||||
|
|
|
@ -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()),
|
||||
|
|
|
@ -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: ¶ms.config.lang,
|
||||
path_prefix: ¶ms.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(¶ms.config.custom_fields)),
|
||||
persistent_field_contents: params
|
||||
.persistent_field_contents
|
||||
.unwrap_or_else(|| PersistentFieldContents::new_empty(¶ms.config.custom_fields)),
|
||||
captcha: captcha_base64,
|
||||
error_message: params.error_message.unwrap_or_default(),
|
||||
strings: ¶ms.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),
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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> {
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue