From 8ab88ae4e1a6f3c6aef7912ab00d2914efc23799 Mon Sep 17 00:00:00 2001 From: Philippe Loctaux
Date: Sun, 26 Mar 2023 23:36:36 +0200
Subject: [PATCH] ezidam: admin settings: added security page: logout everyone
---
crates/ezidam/src/menu/items/admin.rs | 14 ++-
crates/ezidam/src/page.rs | 5 ++
crates/ezidam/src/routes/admin.rs | 15 +++-
crates/ezidam/src/routes/admin/settings.rs | 88 +++++++++++++++++++
.../pages/admin/settings_security.html.tera | 60 +++++++++++++
5 files changed, 177 insertions(+), 5 deletions(-)
create mode 100644 crates/ezidam/templates/pages/admin/settings_security.html.tera
diff --git a/crates/ezidam/src/menu/items/admin.rs b/crates/ezidam/src/menu/items/admin.rs
index 45ef654..f0311b2 100644
--- a/crates/ezidam/src/menu/items/admin.rs
+++ b/crates/ezidam/src/menu/items/admin.rs
@@ -37,10 +37,16 @@ impl AdminMenu {
label: "Server settings",
link: uri!(routes::admin::settings::settings_branding).to_string(),
icon: icons::SETTINGS,
- sub: Some(vec![SubItem {
- label: "Branding",
- link: uri!(routes::admin::settings::settings_branding).to_string(),
- }]),
+ sub: Some(vec![
+ SubItem {
+ label: "Branding",
+ link: uri!(routes::admin::settings::settings_branding).to_string(),
+ },
+ SubItem {
+ label: "Security",
+ link: uri!(routes::admin::settings::settings_security).to_string(),
+ },
+ ]),
},
]
}
diff --git a/crates/ezidam/src/page.rs b/crates/ezidam/src/page.rs
index 6b729fe..df9badf 100644
--- a/crates/ezidam/src/page.rs
+++ b/crates/ezidam/src/page.rs
@@ -16,6 +16,7 @@ pub enum Page {
Redirect(Redirect),
AdminDashboard(AdminDashboard),
AdminSettingsBranding(AdminSettingsBranding),
+ AdminSettingsSecurity(AdminSettingsSecurity),
}
impl Page {
@@ -29,6 +30,7 @@ impl Page {
Page::Redirect(_) => "pages/oauth/redirect",
Page::AdminDashboard(_) => "pages/admin/dashboard",
Page::AdminSettingsBranding(_) => "pages/admin/settings_branding",
+ Page::AdminSettingsSecurity(_) => "pages/admin/settings_security",
}
}
@@ -42,6 +44,7 @@ impl Page {
Page::Redirect(_) => "Redirecting",
Page::AdminDashboard(_) => "Admin dashboard",
Page::AdminSettingsBranding(_) => "Server branding",
+ Page::AdminSettingsSecurity(_) => "Server security",
}
}
@@ -57,6 +60,7 @@ impl Page {
Page::Redirect(_) => None,
Page::AdminDashboard(_) => Some(AdminMenu::Dashboard.into()),
Page::AdminSettingsBranding(_) => Some(AdminMenu::Settings.into()),
+ Page::AdminSettingsSecurity(_) => Some(AdminMenu::Settings.into()),
}
}
@@ -70,6 +74,7 @@ impl Page {
Page::Redirect(redirect) => Box::new(redirect),
Page::AdminDashboard(dashboard) => Box::new(dashboard),
Page::AdminSettingsBranding(branding) => Box::new(branding),
+ Page::AdminSettingsSecurity(security) => Box::new(security),
}
}
}
diff --git a/crates/ezidam/src/routes/admin.rs b/crates/ezidam/src/routes/admin.rs
index 3ceac96..25c9c5f 100644
--- a/crates/ezidam/src/routes/admin.rs
+++ b/crates/ezidam/src/routes/admin.rs
@@ -6,7 +6,13 @@ pub mod dashboard;
pub mod settings;
pub fn routes() -> Vec