Display the list of users

This commit is contained in:
2022-04-06 18:03:00 +02:00
parent da6a494875
commit 754814f04a
6 changed files with 76 additions and 3 deletions

View File

@ -1,9 +1,13 @@
use actix::Addr;
use actix_web::{HttpResponse, Responder, web};
use askama::Template;
use crate::actors::users_actor;
use crate::actors::users_actor::UsersActor;
use crate::controllers::settings_controller::BaseSettingsPage;
use crate::data::client::{Client, ClientManager};
use crate::data::current_user::CurrentUser;
use crate::data::user::User;
#[derive(Template)]
#[template(path = "settings/clients_list.html")]
@ -12,6 +16,14 @@ struct ClientsListTemplate {
clients: Vec<Client>,
}
#[derive(Template)]
#[template(path = "settings/users_list.html")]
struct UsersListTemplate {
_parent: BaseSettingsPage,
users: Vec<User>,
}
pub async fn clients_route(user: CurrentUser, clients: web::Data<ClientManager>) -> impl Responder {
HttpResponse::Ok().body(ClientsListTemplate {
_parent: BaseSettingsPage::get(
@ -22,4 +34,18 @@ pub async fn clients_route(user: CurrentUser, clients: web::Data<ClientManager>)
),
clients: clients.cloned(),
}.render().unwrap())
}
pub async fn users_route(user: CurrentUser, users: web::Data<Addr<UsersActor>>) -> impl Responder {
let users = users.send(users_actor::GetAllUsersRequest).await.unwrap().0;
HttpResponse::Ok().body(UsersListTemplate {
_parent: BaseSettingsPage::get(
"Users list",
&user,
None,
None,
),
users,
}.render().unwrap())
}

View File

@ -61,7 +61,7 @@ pub async fn account_settings_details_route(user: CurrentUser) -> impl Responder
_parent: BaseSettingsPage::get("Account details", &user, None, None),
user_id: user.uid,
first_name: user.first_name,
last_name: user.last_last,
last_name: user.last_name,
username: user.username,
email: user.email,
}.render().unwrap())