✨ (user): Añade zona horaria propia del usuario
Sustituye el campo de texto libre por un selector de zonas horarias IANA canónicas agrupadas por región, con la opción de usar la del sitio (que muestra la zona efectiva).
This commit is contained in:
parent
4cd75af8d2
commit
04502ef81e
20 changed files with 162 additions and 92 deletions
|
|
@ -28,6 +28,7 @@ pub(crate) fn map_auth_error(err: &AuthError) -> Lc {
|
|||
Lc::t("error-password-too-short", &LOCALES_USER).with_arg("n", n.to_string())
|
||||
}
|
||||
AuthError::PasswordMismatch => Lc::t("error-password-mismatch", &LOCALES_USER),
|
||||
AuthError::InvalidTimezone => Lc::t("error-invalid-timezone", &LOCALES_USER),
|
||||
AuthError::UsernameTaken => Lc::t("error-username-taken", &LOCALES_USER),
|
||||
AuthError::EmailTaken => Lc::t("error-email-taken", &LOCALES_USER),
|
||||
AuthError::UserNotFound => Lc::t("error-user-not-found", &LOCALES_USER),
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ pub async fn password_reset_confirm_get(
|
|||
use crate::token::hash_token;
|
||||
use pagetop_seaorm::db::{ColumnTrait, EntityTrait, QueryFilter, dbconn};
|
||||
let hash = hash_token(&token);
|
||||
let now = Utc::now().naive_utc();
|
||||
let now = Utc::now();
|
||||
user_token::Entity::find()
|
||||
.filter(user_token::Column::TokenHash.eq(&hash))
|
||||
.filter(user_token::Column::UserId.eq(uid))
|
||||
|
|
@ -291,7 +291,7 @@ pub async fn password_reset_confirm_post(
|
|||
let user_id = consume_token(&token, TokenKind::PasswordReset).await?;
|
||||
password::validate_strength(&form.password)?;
|
||||
let hash = password::hash_password(&form.password)?;
|
||||
let now = Utc::now().naive_utc();
|
||||
let now = Utc::now();
|
||||
user::ActiveModel {
|
||||
id: Set(user_id),
|
||||
password_hash: Set(hash),
|
||||
|
|
@ -333,7 +333,7 @@ pub async fn verify_email_get(
|
|||
use crate::entity::user;
|
||||
use pagetop_seaorm::db::{ActiveModelTrait, Set, dbconn};
|
||||
let user_id = consume_token(&token, TokenKind::EmailVerification).await?;
|
||||
let now = Utc::now().naive_utc();
|
||||
let now = Utc::now();
|
||||
user::ActiveModel {
|
||||
id: Set(user_id),
|
||||
email_verified_at: Set(Some(now)),
|
||||
|
|
@ -352,7 +352,7 @@ pub async fn verify_email_get(
|
|||
}
|
||||
}
|
||||
|
||||
// **< helpers privados >***************************************************************************
|
||||
// **< HELPERS >************************************************************************************
|
||||
|
||||
fn redirect_with_cookie(to: impl Into<RoutePath>, cookie: &str) -> Response {
|
||||
(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue