@ -8,6 +8,7 @@ use crate::actors::users_actor;
|
||||
use crate::actors::users_actor::UsersActor;
|
||||
use crate::constants::TEMPORARY_PASSWORDS_LEN;
|
||||
use crate::controllers::settings_controller::BaseSettingsPage;
|
||||
use crate::data::action_logger::{Action, ActionLogger};
|
||||
use crate::data::client::{Client, ClientID, ClientManager};
|
||||
use crate::data::current_user::CurrentUser;
|
||||
use crate::data::user::{hash_password, User, UserID};
|
||||
@ -67,6 +68,7 @@ pub async fn users_route(
|
||||
user: CurrentUser,
|
||||
users: web::Data<Addr<UsersActor>>,
|
||||
update_query: Option<web::Form<UpdateUserQuery>>,
|
||||
logger: ActionLogger,
|
||||
) -> impl Responder {
|
||||
let mut danger = None;
|
||||
let mut success = None;
|
||||
@ -112,6 +114,8 @@ pub async fn users_route(
|
||||
let new_password = match update.0.gen_new_password.is_some() {
|
||||
false => None,
|
||||
true => {
|
||||
logger.log(Action::AdminResetUserPassword(&user));
|
||||
|
||||
let temp_pass = rand_str(TEMPORARY_PASSWORDS_LEN);
|
||||
user.password = hash_password(&temp_pass).expect("Failed to hash password");
|
||||
user.need_reset_password = true;
|
||||
@ -121,6 +125,7 @@ pub async fn users_route(
|
||||
};
|
||||
|
||||
if update.0.clear_2fa_history.is_some() {
|
||||
logger.log(Action::AdminClear2FAHistory(&user));
|
||||
user.last_successful_2fa = Default::default();
|
||||
}
|
||||
|
||||
@ -140,8 +145,14 @@ pub async fn users_route(
|
||||
)
|
||||
} else {
|
||||
success = Some(match is_creating {
|
||||
true => format!("User {} was successfully created!", user.full_name()),
|
||||
false => format!("User {} was successfully updated!", user.full_name()),
|
||||
true => {
|
||||
logger.log(Action::AdminCreateUser(&user));
|
||||
format!("User {} was successfully created!", user.full_name())
|
||||
}
|
||||
false => {
|
||||
logger.log(Action::AdminUpdateUser(&user));
|
||||
format!("User {} was successfully updated!", user.full_name())
|
||||
}
|
||||
});
|
||||
|
||||
if let Some(pass) = new_password {
|
||||
|
Reference in New Issue
Block a user