[pdm-devel] [PATCH yew-comp v2 1/6] auth_view: add default column and allow setting ldap realms as default

Shannon Sterz s.sterz at proxmox.com
Mon Sep 22 17:05:08 CEST 2025


Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---
 src/auth_edit_ldap.rs   |  1 +
 src/auth_view.rs        | 16 +++++++++++++++-
 src/common_api_types.rs |  3 +++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/auth_edit_ldap.rs b/src/auth_edit_ldap.rs
index 9e5d3a2..4671a1e 100644
--- a/src/auth_edit_ldap.rs
+++ b/src/auth_edit_ldap.rs
@@ -182,6 +182,7 @@ fn render_general_form(form_ctx: FormContext, props: AuthEditLDAP) -> Html {
                 .required(true)
                 .placeholder("cn=Users,dc=company,dc=net"),
         )
+        .with_field(tr!("Default Realm"), Checkbox::new().name("default"));
         .with_right_field(tr!("Fallback Server"), Field::new().name("server2"))
         .with_field(
             tr!("User Attribute Name"),
diff --git a/src/auth_view.rs b/src/auth_view.rs
index 4a0f22f..4d6e143 100644
--- a/src/auth_view.rs
+++ b/src/auth_view.rs
@@ -12,7 +12,7 @@ use pwt::state::{Selection, Store};
 use pwt::widget::data_table::{DataTable, DataTableColumn, DataTableHeader};
 use pwt::widget::menu::{Menu, MenuButton, MenuItem};
 
-use pwt::widget::{Button, Toolbar};
+use pwt::widget::{Button, Fa, Toolbar};
 
 use pwt_macros::builder;
 
@@ -298,6 +298,20 @@ thread_local! {
                 a.ty.cmp(&b.ty)
             })
             .into(),
+        DataTableColumn::new(tr!("Default"))
+            .width("100px")
+            .render(|item: &BasicRealmInfo| {
+                if item.default.unwrap_or_default() {
+                    Fa::new("check").into()
+                } else {
+                    Fa::new("times").into()
+                }
+            })
+            .justify("center")
+            .sorter(|a: &BasicRealmInfo, b: &BasicRealmInfo| {
+                a.default.unwrap_or_default().cmp(&b.default.unwrap_or_default())
+            })
+            .into(),
         DataTableColumn::new("Comment")
             .flex(1)
             .render(|record: &BasicRealmInfo| {
diff --git a/src/common_api_types.rs b/src/common_api_types.rs
index 03f7707..c247569 100644
--- a/src/common_api_types.rs
+++ b/src/common_api_types.rs
@@ -14,6 +14,9 @@ pub struct BasicRealmInfo {
     pub realm: String,
     #[serde(rename = "type")]
     pub ty: String,
+    /// True if it is the default realm
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub default: Option<bool>,
     #[serde(skip_serializing_if = "Option::is_none")]
     pub comment: Option<String>,
 }
-- 
2.47.3





More information about the pdm-devel mailing list