Can specify default clients

This commit is contained in:
2023-04-15 10:31:11 +02:00
parent 14bda544f7
commit eed9bcdf8b
2 changed files with 39 additions and 16 deletions

View File

@ -42,8 +42,8 @@ pub async fn clients_route(user: CurrentUser, clients: web::Data<ClientManager>)
_p: BaseSettingsPage::get("Clients list", &user, None, None),
clients: clients.cloned(),
}
.render()
.unwrap(),
.render()
.unwrap(),
)
}
@ -65,7 +65,7 @@ pub struct UpdateUserQuery {
}
pub async fn users_route(
user: CurrentUser,
admin: CurrentUser,
users: web::Data<Addr<UsersActor>>,
update_query: Option<web::Form<UpdateUserQuery>>,
logger: ActionLogger,
@ -197,7 +197,7 @@ pub async fn users_route(
true => "Failed to create user!",
false => "Failed to update user!",
}
.to_string(),
.to_string(),
)
} else {
success = Some(match is_creating {
@ -225,23 +225,26 @@ pub async fn users_route(
HttpResponse::Ok().body(
UsersListTemplate {
_p: BaseSettingsPage::get("Users list", &user, danger, success),
_p: BaseSettingsPage::get("Users list", &admin, danger, success),
users,
}
.render()
.unwrap(),
.render()
.unwrap(),
)
}
pub async fn create_user(user: CurrentUser, clients: web::Data<ClientManager>) -> impl Responder {
pub async fn create_user(admin: CurrentUser, clients: web::Data<ClientManager>) -> impl Responder {
let mut user = User::default();
user.authorized_clients = Some(clients.get_default_clients().iter().map(|u| u.id.clone()).collect());
HttpResponse::Ok().body(
EditUserTemplate {
_p: BaseSettingsPage::get("Create a new user", user.deref(), None, None),
u: Default::default(),
_p: BaseSettingsPage::get("Create a new user", admin.deref(), None, None),
u: user,
clients: clients.cloned(),
}
.render()
.unwrap(),
.render()
.unwrap(),
)
}
@ -251,7 +254,7 @@ pub struct EditUserQuery {
}
pub async fn edit_user(
user: CurrentUser,
admin: CurrentUser,
clients: web::Data<ClientManager>,
users: web::Data<Addr<UsersActor>>,
query: web::Query<EditUserQuery>,
@ -266,7 +269,7 @@ pub async fn edit_user(
EditUserTemplate {
_p: BaseSettingsPage::get(
"Edit user account",
user.deref(),
admin.deref(),
match edited_account.is_none() {
true => Some("Could not find requested user!".to_string()),
false => None,
@ -276,7 +279,7 @@ pub async fn edit_user(
u: edited_account.unwrap_or_default(),
clients: clients.cloned(),
}
.render()
.unwrap(),
.render()
.unwrap(),
)
}