[pdm-devel] [PATCH datacenter-manager v2 1/3] ui: add a token panel and a token acl edit menu in the permissions panel

Lukas Wagner l.wagner at proxmox.com
Fri Oct 17 11:36:17 CEST 2025


Looks good to me:

Tested-by: Lukas Wagner <l.wagner at proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner at proxmox.com>

On Tue Oct 14, 2025 at 4:37 PM CEST, Shannon Sterz wrote:
> this allows users to create and manage api tokens.
>
> Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
> ---
>  ui/src/configuration/mod.rs | 33 +++++++++++++++++++++++++++------
>  1 file changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/ui/src/configuration/mod.rs b/ui/src/configuration/mod.rs
> index 0a92796..4110f39 100644
> --- a/ui/src/configuration/mod.rs
> +++ b/ui/src/configuration/mod.rs
> @@ -7,7 +7,7 @@ use pwt::widget::{Container, MiniScrollMode, Panel, TabBarItem, TabPanel};
>  use proxmox_yew_comp::configuration::TimePanel;
>  use proxmox_yew_comp::configuration::{DnsPanel, NetworkView};
>  use proxmox_yew_comp::tfa::TfaView;
> -use proxmox_yew_comp::{AclEdit, AclView, AuthView, UserPanel};
> +use proxmox_yew_comp::{AclEdit, AclView, AuthView, TokenPanel, UserPanel};
>  
>  mod permission_path_selector;
>  mod webauthn;
> @@ -73,6 +73,19 @@ pub fn access_control() -> Html {
>                      .into()
>              },
>          )
> +        .with_item_builder(
> +            TabBarItem::new()
> +                .key("api-tokens")
> +                .icon_class("fa fa-user-o")
> +                .label(tr!("API Token")),
> +            |_| {
> +                Container::new()
> +                    .class("pwt-content-spacer")
> +                    .class(pwt::css::FlexFit)
> +                    .with_child(TokenPanel::new())
> +                    .into()
> +            },
> +        )
>          .with_item_builder(
>              TabBarItem::new()
>                  .key("two-factor")
> @@ -95,11 +108,19 @@ pub fn access_control() -> Html {
>                  Container::new()
>                      .class("pwt-content-spacer")
>                      .class(pwt::css::FlexFit)
> -                    .with_child(AclView::new().with_acl_edit_menu_entry(
> -                        tr!("User Permission"),
> -                        "fa fa-fw fa-user",
> -                        acl_edit.clone().use_tokens(false),
> -                    ))
> +                    .with_child(
> +                        AclView::new()
> +                            .with_acl_edit_menu_entry(
> +                                tr!("User Permission"),
> +                                "fa fa-fw fa-user",
> +                                acl_edit.clone().use_tokens(false),
> +                            )
> +                            .with_acl_edit_menu_entry(
> +                                tr!("Token Permission"),
> +                                "fa fa-fw fa-user-o",
> +                                acl_edit.clone().use_tokens(true),
> +                            ),
> +                    )
>                      .into()
>              },
>          )





More information about the pdm-devel mailing list