diff --git a/src/Admin/AdminConsole/Components/Admins.cs b/src/Admin/AdminConsole/Components/Admins.cs index a075938652..93808f8743 100644 --- a/src/Admin/AdminConsole/Components/Admins.cs +++ b/src/Admin/AdminConsole/Components/Admins.cs @@ -1,4 +1,5 @@ -using Bit.Admin.AdminConsole.Models; +using System.ComponentModel.DataAnnotations; +using Bit.Admin.AdminConsole.Models; using Bit.Admin.Enums; using Bit.Admin.Services; using Microsoft.AspNetCore.Components; @@ -11,4 +12,29 @@ public partial class Admins( private readonly bool _canResendEmailInvite = accessControlService.UserHasPermission(Permission.Provider_ResendEmailInvite); [Parameter] public ProviderViewModel Model { get; set; } + + [SupplyParameterFromForm(FormName = "ManageAdminsForm")] + public ManageAdminsFormModel FormModel { get; set; } = new(); + + [Parameter] + public Guid ProviderId { get; set; } + + [Parameter] + public Guid OwnerId { get; set; } + + [SupplyParameterFromQuery] + public Guid? InviteResentTo { get; set; } + + private async Task OnValidSubmitAsync() + { + await ProviderService.ResendProviderSetupInviteEmailAsync(ProviderId, OwnerId); + var uri = NavigationManager.GetUriWithQueryParameters($"/admin/providers/{ProviderId}/admins", new Dictionary { { "inviteResentTo", OwnerId.ToString() } }); + NavigationManager.NavigateTo(uri); + } + + public class ManageAdminsFormModel + { + [Required] + public Guid UserId { get; set; } + } } diff --git a/src/Admin/AdminConsole/Components/Admins.razor b/src/Admin/AdminConsole/Components/Admins.razor index 0993d3a218..6e671621ac 100644 --- a/src/Admin/AdminConsole/Components/Admins.razor +++ b/src/Admin/AdminConsole/Components/Admins.razor @@ -1,61 +1,69 @@ +@using Bit.Admin.Services @using Bit.Core.AdminConsole.Enums.Provider -@inject Services.IAccessControlService AccessControlService +@using Bit.Core.AdminConsole.Services + +@inject IAccessControlService AccessControlService +@inject IProviderService ProviderService +@inject NavigationManager NavigationManager

Provider Admins

- - - - - - - - - - @if(!Model.ProviderAdmins.Any()) - { - - - - } - else - { - @foreach(var admin in Model.ProviderAdmins) - { - - - - +
EmailStatus
No results to list.
- @admin.Email - - @admin.Status - - @if(admin.Status.Equals(ProviderUserStatusType.Confirmed) - && Model.Provider.Status.Equals(ProviderStatusType.Pending) - && _canResendEmailInvite) + + + + + + + + + + + + @if (!Model.ProviderAdmins.Any()) + { + + + + } + else + { + @foreach (var admin in Model.ProviderAdmins) { - - } - - - } - } - -
EmailStatus
No results to list.
+ } +
+
diff --git a/src/Admin/AdminConsole/Components/EditProviderPage.razor b/src/Admin/AdminConsole/Components/EditProviderPage.razor index 47ddf1513b..cb4bb433aa 100644 --- a/src/Admin/AdminConsole/Components/EditProviderPage.razor +++ b/src/Admin/AdminConsole/Components/EditProviderPage.razor @@ -13,7 +13,7 @@

Provider Information

- +