diff --git a/src/controllers/admin_controller.rs b/src/controllers/admin_controller.rs index ae5d1f7..4413646 100644 --- a/src/controllers/admin_controller.rs +++ b/src/controllers/admin_controller.rs @@ -16,21 +16,21 @@ use crate::utils::string_utils::rand_str; #[derive(Template)] #[template(path = "settings/clients_list.html")] struct ClientsListTemplate { - _parent: BaseSettingsPage, + _p: BaseSettingsPage, clients: Vec, } #[derive(Template)] #[template(path = "settings/users_list.html")] struct UsersListTemplate { - _parent: BaseSettingsPage, + _p: BaseSettingsPage, users: Vec, } #[derive(Template)] #[template(path = "settings/edit_user.html")] struct EditUserTemplate { - _parent: BaseSettingsPage, + _p: BaseSettingsPage, u: User, clients: Vec, } @@ -38,7 +38,7 @@ struct EditUserTemplate { pub async fn clients_route(user: CurrentUser, clients: web::Data) -> impl Responder { HttpResponse::Ok().body(ClientsListTemplate { - _parent: BaseSettingsPage::get( + _p: BaseSettingsPage::get( "Clients list", &user, None, @@ -122,7 +122,7 @@ pub async fn users_route(user: CurrentUser, users: web::Data>, let users = users.send(users_actor::GetAllUsersRequest).await.unwrap().0; HttpResponse::Ok().body(UsersListTemplate { - _parent: BaseSettingsPage::get( + _p: BaseSettingsPage::get( "Users list", &user, danger, @@ -134,7 +134,7 @@ pub async fn users_route(user: CurrentUser, users: web::Data>, pub async fn create_user(user: CurrentUser, clients: web::Data) -> impl Responder { HttpResponse::Ok().body(EditUserTemplate { - _parent: BaseSettingsPage::get("Create a new user", user.deref(), None, None), + _p: BaseSettingsPage::get("Create a new user", user.deref(), None, None), u: Default::default(), clients: clients.cloned(), }.render().unwrap()) @@ -155,7 +155,7 @@ pub async fn edit_user(user: CurrentUser, HttpResponse::Ok().body(EditUserTemplate { - _parent: BaseSettingsPage::get( + _p: BaseSettingsPage::get( "Edit user account", user.deref(), match edited_account.is_none() { diff --git a/src/controllers/login_controller.rs b/src/controllers/login_controller.rs index 55ca681..1d91410 100644 --- a/src/controllers/login_controller.rs +++ b/src/controllers/login_controller.rs @@ -11,8 +11,6 @@ use crate::controllers::base_controller::{FatalErrorPage, redirect_user}; use crate::data::remote_ip::RemoteIP; use crate::data::session_identity::{SessionIdentity, SessionStatus}; -#[derive(Template)] -#[template(path = "login/base_login_page.html")] struct BaseLoginPage { danger: String, success: String, @@ -24,14 +22,14 @@ struct BaseLoginPage { #[derive(Template)] #[template(path = "login/login.html")] struct LoginTemplate { - _parent: BaseLoginPage, + _p: BaseLoginPage, login: String, } #[derive(Template)] #[template(path = "login/password_reset.html")] struct PasswordResetTemplate { - _parent: BaseLoginPage, + _p: BaseLoginPage, min_pass_len: usize, } @@ -141,7 +139,7 @@ pub async fn login_route( } c => { - log::warn!("Failed login for ip {:?} / username {}: {:?}", remote_ip, login, c); + log::warn!("Failed login for ip {:?} / username {}: {:?}", remote_ip, login, c); danger = "Login failed.".to_string(); bruteforce.send(bruteforce_actor::RecordFailedAttempt { ip: remote_ip.into() }).await.unwrap(); @@ -153,7 +151,7 @@ pub async fn login_route( if SessionIdentity(&id).need_new_password() { return HttpResponse::Ok().content_type("text/html").body( PasswordResetTemplate { - _parent: BaseLoginPage { + _p: BaseLoginPage { page_title: "Password reset", danger, success, @@ -169,7 +167,7 @@ pub async fn login_route( HttpResponse::Ok().content_type("text/html").body( LoginTemplate { - _parent: BaseLoginPage { + _p: BaseLoginPage { page_title: "Login", danger, success, diff --git a/src/controllers/settings_controller.rs b/src/controllers/settings_controller.rs index e76bd7f..d30b1f9 100644 --- a/src/controllers/settings_controller.rs +++ b/src/controllers/settings_controller.rs @@ -10,8 +10,6 @@ use crate::data::current_user::CurrentUser; use crate::data::remote_ip::RemoteIP; use crate::data::user::User; -#[derive(Template)] -#[template(path = "settings/base_settings_page.html")] pub(crate) struct BaseSettingsPage { pub danger_message: Option, pub success_message: Option, @@ -23,7 +21,7 @@ pub(crate) struct BaseSettingsPage { impl BaseSettingsPage { pub fn get(page_title: &'static str, user: &User, - danger_message: Option, success_message: Option) -> BaseSettingsPage { + danger_message: Option, success_message: Option) -> BaseSettingsPage { Self { danger_message, success_message, @@ -38,18 +36,14 @@ impl BaseSettingsPage { #[derive(Template)] #[template(path = "settings/account_details.html")] struct AccountDetailsPage { - _parent: BaseSettingsPage, - user_id: String, - first_name: String, - last_name: String, - username: String, - email: String, + _p: BaseSettingsPage, + u: User, } #[derive(Template)] #[template(path = "settings/change_password.html")] struct ChangePasswordPage { - _parent: BaseSettingsPage, + _p: BaseSettingsPage, min_pwd_len: usize, } @@ -58,12 +52,8 @@ pub async fn account_settings_details_route(user: CurrentUser) -> impl Responder let user = user.into(); HttpResponse::Ok() .body(AccountDetailsPage { - _parent: BaseSettingsPage::get("Account details", &user, None, None), - user_id: user.uid, - first_name: user.first_name, - last_name: user.last_name, - username: user.username, - email: user.email, + _p: BaseSettingsPage::get("Account details", &user, None, None), + u: user, }.render().unwrap()) } @@ -121,7 +111,7 @@ pub async fn change_password_route(user: CurrentUser, HttpResponse::Ok() .body(ChangePasswordPage { - _parent: BaseSettingsPage::get("Change password", &user, danger, success), + _p: BaseSettingsPage::get("Change password", &user, danger, success), min_pwd_len: MIN_PASS_LEN, }.render().unwrap()) } \ No newline at end of file diff --git a/templates/login/base_login_page.html b/templates/login/base_login_page.html index 331fb0e..97ae48b 100644 --- a/templates/login/base_login_page.html +++ b/templates/login/base_login_page.html @@ -4,7 +4,7 @@ - {{ app_name }} - {{ page_title }} + {{ _p.app_name }} - {{ _p.page_title }} @@ -41,14 +41,14 @@
-

{{ page_title }}

+

{{ _p.page_title }}

{% block content %} diff --git a/templates/login/login.html b/templates/login/login.html index d97540c..d066157 100644 --- a/templates/login/login.html +++ b/templates/login/login.html @@ -1,6 +1,6 @@ {% extends "base_login_page.html" %} {% block content %} -
+
+

You need to configure a new password:

diff --git a/templates/settings/account_details.html b/templates/settings/account_details.html index 5673d3c..b60b3ab 100644 --- a/templates/settings/account_details.html +++ b/templates/settings/account_details.html @@ -5,27 +5,27 @@ User ID - {{ user_id }} + {{ u.uid }} First name - {{ first_name }} + {{ u.first_name }} Last name - {{ last_name }} + {{ u.last_name }} Username - {{ username }} + {{ u.username }} Email - {{ email }} + {{ u.email }} Account type - {% if is_admin %}Admin{% else %}Regular user{% endif %} + {% if u.admin %}Admin{% else %}Regular user{% endif %} diff --git a/templates/settings/base_settings_page.html b/templates/settings/base_settings_page.html index 8e2767e..66e08d9 100644 --- a/templates/settings/base_settings_page.html +++ b/templates/settings/base_settings_page.html @@ -2,7 +2,7 @@ - {{ page_title }} - {{ app_name }} + {{ _p.page_title }} - {{ _p.app_name }} @@ -12,7 +12,7 @@
- {{ app_name }} + {{ _p.app_name }}
- {% if let Some(msg) = danger_message %} + {% if let Some(msg) = _p.danger_message %}
{{ msg }}
{% endif %} - {% if let Some(msg) = success_message %} + {% if let Some(msg) = _p.success_message %}
{{ msg }}
{% endif %} -

{{ page_title }}

+

{{ _p.page_title }}

{% block content %} TO_REPLACE diff --git a/templates/settings/edit_user.html b/templates/settings/edit_user.html index 84579a1..261291b 100644 --- a/templates/settings/edit_user.html +++ b/templates/settings/edit_user.html @@ -101,7 +101,7 @@
- +