Refactor MessageTemplate initialization to use Context directly instead of Tr and user parameters
This commit is contained in:
parent
c8e0aa918c
commit
710a134966
4 changed files with 49 additions and 151 deletions
|
|
@ -4,7 +4,7 @@ use crate::{
|
|||
app::Context,
|
||||
data::{db, model},
|
||||
log::Log,
|
||||
translation::{self, Sentence, Tr},
|
||||
translation::{self, Sentence},
|
||||
};
|
||||
|
||||
pub struct Recipes {
|
||||
|
|
@ -84,29 +84,9 @@ pub struct MessageTemplate<'a> {
|
|||
}
|
||||
|
||||
impl<'a> MessageTemplate<'a> {
|
||||
pub fn new(message: &'a str, tr: Tr) -> MessageTemplate<'a> {
|
||||
pub fn new(message: &'a str, context: Context) -> MessageTemplate<'a> {
|
||||
MessageTemplate {
|
||||
context: Context {
|
||||
user: None,
|
||||
tr,
|
||||
dark_theme: false,
|
||||
},
|
||||
message,
|
||||
as_code: false,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new_with_user(
|
||||
message: &'a str,
|
||||
tr: Tr,
|
||||
user: Option<model::User>,
|
||||
) -> MessageTemplate<'a> {
|
||||
MessageTemplate {
|
||||
context: Context {
|
||||
user,
|
||||
tr,
|
||||
dark_theme: false,
|
||||
},
|
||||
context,
|
||||
message,
|
||||
as_code: false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,14 +98,7 @@ pub async fn dev_panel(
|
|||
} else {
|
||||
Ok((
|
||||
StatusCode::UNAUTHORIZED,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
consts::NOT_AUTHORIZED_MESSAGE,
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
Html(MessageTemplate::new(consts::NOT_AUTHORIZED_MESSAGE, context).render()?),
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
|
|
@ -152,14 +145,7 @@ pub async fn logs(
|
|||
} else {
|
||||
Ok((
|
||||
StatusCode::UNAUTHORIZED,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
consts::NOT_AUTHORIZED_MESSAGE,
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
Html(MessageTemplate::new(consts::NOT_AUTHORIZED_MESSAGE, context).render()?),
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
|
|
@ -171,6 +157,6 @@ pub async fn logs(
|
|||
pub async fn not_found(Extension(context): Extension<Context>) -> Result<impl IntoResponse> {
|
||||
Ok((
|
||||
StatusCode::NOT_FOUND,
|
||||
Html(MessageTemplate::new_with_user("404: Not found", context.tr, context.user).render()?),
|
||||
Html(MessageTemplate::new("404: Not found", context).render()?),
|
||||
))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ pub async fn create(
|
|||
.into_response())
|
||||
} else {
|
||||
Ok(
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context.tr).render()?)
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context).render()?)
|
||||
.into_response(),
|
||||
)
|
||||
}
|
||||
|
|
@ -59,24 +59,20 @@ pub async fn edit(
|
|||
.into_response())
|
||||
} else {
|
||||
Ok(Html(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::RecipeNotAllowedToEdit),
|
||||
context.tr,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::RecipeNotAllowedToEdit), context)
|
||||
.render()?,
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
} else {
|
||||
Ok(Html(
|
||||
MessageTemplate::new(context.tr.t(Sentence::RecipeNotFound), context.tr)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::RecipeNotFound), context).render()?,
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
} else {
|
||||
Ok(
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context.tr).render()?)
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context).render()?)
|
||||
.into_response(),
|
||||
)
|
||||
}
|
||||
|
|
@ -94,12 +90,11 @@ pub async fn view(
|
|||
&& (context.user.is_none() || recipe.user_id != context.user.as_ref().unwrap().id)
|
||||
{
|
||||
return Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
&context
|
||||
.tr
|
||||
.tp(Sentence::RecipeNotAllowedToView, &[Box::new(recipe_id)]),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
)
|
||||
|
|
@ -123,12 +118,7 @@ pub async fn view(
|
|||
.into_response())
|
||||
}
|
||||
None => Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::RecipeNotFound),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::RecipeNotFound), context).render()?,
|
||||
)
|
||||
.into_response()),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,15 +52,10 @@ pub async fn sign_up_get(
|
|||
)
|
||||
.into_response())
|
||||
} else {
|
||||
Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::SignUpClosed),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
Ok(
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::SignUpClosed), context).render()?)
|
||||
.into_response(),
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -130,12 +125,7 @@ pub async fn sign_up_post(
|
|||
|
||||
if !connection.get_new_user_registration_enabled().await? {
|
||||
return Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::SignUpClosed),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::SignUpClosed), context).render()?,
|
||||
)
|
||||
.into_response());
|
||||
}
|
||||
|
|
@ -186,12 +176,8 @@ pub async fn sign_up_post(
|
|||
.await
|
||||
{
|
||||
Ok(()) => Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::SignUpEmailSent),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::SignUpEmailSent), context)
|
||||
.render()?,
|
||||
)
|
||||
.into_response()),
|
||||
Err(_) => error_response(SignUpError::UnableSendEmail, &form_data, context),
|
||||
|
|
@ -218,12 +204,8 @@ pub async fn sign_up_validation(
|
|||
return Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::ValidationUserAlreadyExists),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::ValidationUserAlreadyExists), context)
|
||||
.render()?,
|
||||
),
|
||||
));
|
||||
}
|
||||
|
|
@ -248,10 +230,9 @@ pub async fn sign_up_validation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::SignUpEmailValidationSuccess),
|
||||
context.tr,
|
||||
user,
|
||||
Context { user, ..context },
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -262,10 +243,9 @@ pub async fn sign_up_validation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::SignUpValidationExpired),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -276,10 +256,9 @@ pub async fn sign_up_validation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::SignUpValidationErrorTryAgain),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -292,12 +271,8 @@ pub async fn sign_up_validation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::ValidationError),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::ValidationError), context)
|
||||
.render()?,
|
||||
),
|
||||
))
|
||||
}
|
||||
|
|
@ -414,10 +389,9 @@ pub async fn sign_out(
|
|||
pub async fn ask_reset_password_get(Extension(context): Extension<Context>) -> Result<Response> {
|
||||
if context.user.is_some() {
|
||||
Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::AskResetAlreadyLoggedInError),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
)
|
||||
|
|
@ -532,12 +506,8 @@ pub async fn ask_reset_password_post(
|
|||
.await
|
||||
{
|
||||
Ok(()) => Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::AskResetEmailSent),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::AskResetEmailSent), context)
|
||||
.render()?,
|
||||
)
|
||||
.into_response()),
|
||||
Err(_) => {
|
||||
|
|
@ -588,23 +558,14 @@ pub async fn reset_password_get(
|
|||
.into_response())
|
||||
} else {
|
||||
Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::AskResetTokenMissing),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::AskResetTokenMissing), context)
|
||||
.render()?,
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
} else {
|
||||
Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::AskResetTokenMissing),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::AskResetTokenMissing), context).render()?,
|
||||
)
|
||||
.into_response())
|
||||
}
|
||||
|
|
@ -692,12 +653,7 @@ pub async fn reset_password_post(
|
|||
.await
|
||||
{
|
||||
Ok(db::user::ResetPasswordResult::Ok) => Ok(Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::PasswordReset),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::PasswordReset), context).render()?,
|
||||
)
|
||||
.into_response()),
|
||||
Ok(db::user::ResetPasswordResult::ResetTokenExpired) => {
|
||||
|
|
@ -726,7 +682,7 @@ pub async fn edit_user_get(Extension(context): Extension<Context>) -> Result<Res
|
|||
)
|
||||
.into_response()
|
||||
} else {
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context.tr).render()?)
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context).render()?)
|
||||
.into_response()
|
||||
})
|
||||
}
|
||||
|
|
@ -904,7 +860,7 @@ pub async fn edit_user_post(
|
|||
.into_response())
|
||||
} else {
|
||||
Ok(
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context.tr).render()?)
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::NotLoggedIn), context).render()?)
|
||||
.into_response(),
|
||||
)
|
||||
}
|
||||
|
|
@ -923,12 +879,8 @@ pub async fn email_revalidation(
|
|||
return Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::ValidationUserAlreadyExists),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
MessageTemplate::new(context.tr.t(Sentence::ValidationUserAlreadyExists), context)
|
||||
.render()?,
|
||||
),
|
||||
));
|
||||
}
|
||||
|
|
@ -953,10 +905,9 @@ pub async fn email_revalidation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::ValidationSuccessful),
|
||||
context.tr,
|
||||
user,
|
||||
Context { user, ..context },
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -967,10 +918,9 @@ pub async fn email_revalidation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::ValidationExpired),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -981,10 +931,9 @@ pub async fn email_revalidation(
|
|||
Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
MessageTemplate::new(
|
||||
context.tr.t(Sentence::ValidationErrorTryToSignUpAgain),
|
||||
context.tr,
|
||||
context.user,
|
||||
context,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
|
|
@ -994,14 +943,7 @@ pub async fn email_revalidation(
|
|||
}
|
||||
None => Ok((
|
||||
jar,
|
||||
Html(
|
||||
MessageTemplate::new_with_user(
|
||||
context.tr.t(Sentence::ValidationError),
|
||||
context.tr,
|
||||
context.user,
|
||||
)
|
||||
.render()?,
|
||||
),
|
||||
Html(MessageTemplate::new(context.tr.t(Sentence::ValidationError), context).render()?),
|
||||
)),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue