From 306f2a60c4d67f5f01c439412527f1f4b2b1b53c Mon Sep 17 00:00:00 2001 From: Philippe Loctaux
Date: Sat, 6 May 2023 00:26:38 +0200
Subject: [PATCH] admin/users: add new user
---
crates/ezidam/src/page.rs | 5 ++
crates/ezidam/src/routes/admin.rs | 9 +++
crates/ezidam/src/routes/admin/users.rs | 56 +++++++++++++++++
.../templates/pages/admin/users/new.html.tera | 61 +++++++++++++++++++
crates/ezidam/templates/pages/setup.html.tera | 2 +-
crates/id/src/username.rs | 2 +-
crates/users/src/database.rs | 34 ++++++++++-
crates/users/src/error.rs | 3 +
8 files changed, 167 insertions(+), 5 deletions(-)
create mode 100644 crates/ezidam/templates/pages/admin/users/new.html.tera
diff --git a/crates/ezidam/src/page.rs b/crates/ezidam/src/page.rs
index 700d4e0..ad73035 100644
--- a/crates/ezidam/src/page.rs
+++ b/crates/ezidam/src/page.rs
@@ -30,6 +30,7 @@ pub enum Page {
UserSecurityTotp(UserSecurityTotp),
AuthorizeTotp(AuthorizeTotp),
AdminUsersView(AdminUsersView),
+ AdminUsersNew(AdminUsersNew),
}
impl Page {
@@ -56,6 +57,7 @@ impl Page {
Page::UserSecurityTotp(_) => "pages/settings/totp",
Page::AuthorizeTotp(_) => "pages/oauth/totp",
Page::AdminUsersView(_) => "pages/admin/users/view",
+ Page::AdminUsersNew(_) => "pages/admin/users/new",
}
}
@@ -82,6 +84,7 @@ impl Page {
Page::UserSecurityTotp(_) => "Enable One-time password",
Page::AuthorizeTotp(_) => "Verifying your account",
Page::AdminUsersView(_) => "User info",
+ Page::AdminUsersNew(_) => "New user",
}
}
@@ -110,6 +113,7 @@ impl Page {
Page::UserSecurityTotp(_) => Some(UserMenu::Settings.into()),
Page::AuthorizeTotp(_) => None,
Page::AdminUsersView(_) => Some(AdminMenu::Users.into()),
+ Page::AdminUsersNew(_) => Some(AdminMenu::Users.into()),
}
}
@@ -136,6 +140,7 @@ impl Page {
Page::UserSecurityTotp(totp) => Box::new(totp),
Page::AuthorizeTotp(totp) => Box::new(totp),
Page::AdminUsersView(view) => Box::new(view),
+ Page::AdminUsersNew(new) => Box::new(new),
}
}
}
diff --git a/crates/ezidam/src/routes/admin.rs b/crates/ezidam/src/routes/admin.rs
index 1d68779..5736756 100644
--- a/crates/ezidam/src/routes/admin.rs
+++ b/crates/ezidam/src/routes/admin.rs
@@ -24,6 +24,8 @@ pub fn routes() -> Vec