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