1
0
mirror of https://github.com/bitwarden/server synced 2025-12-16 08:13:33 +00:00

Tweak provider views (#1499)

* Add Organizations to provider views

Remove enabled/disabled toggle from provider. It's currently not used.

* Remove provider Delete

There are implications to deleting providers on the organizations they manage.
We want to think through this flow before allowing delete from the
admin portal.

* Use toastr to display production exception messages.

Update build actions to upgrade npm to v7.

Use a custom error handler in production which displays a toast of the
exception message and redirect to the offending page

* Clarify provider create error message
This commit is contained in:
Matt Gibson
2021-08-10 12:28:00 -04:00
committed by GitHub
parent 5dc6013e37
commit 842a1c2e37
16 changed files with 6464 additions and 58 deletions

View File

@@ -18,20 +18,23 @@ namespace Bit.Admin.Controllers
{
private readonly IProviderRepository _providerRepository;
private readonly IProviderUserRepository _providerUserRepository;
private readonly IProviderOrganizationRepository _providerOrganizationRepository;
private readonly GlobalSettings _globalSettings;
private readonly IApplicationCacheService _applicationCacheService;
private readonly IProviderService _providerService;
public ProvidersController(IProviderRepository providerRepository, IProviderUserRepository providerUserRepository,
IProviderService providerService, GlobalSettings globalSettings, IApplicationCacheService applicationCacheService)
IProviderOrganizationRepository providerOrganizationRepository, IProviderService providerService,
GlobalSettings globalSettings, IApplicationCacheService applicationCacheService)
{
_providerRepository = providerRepository;
_providerUserRepository = providerUserRepository;
_providerOrganizationRepository = providerOrganizationRepository;
_providerService = providerService;
_globalSettings = globalSettings;
_applicationCacheService = applicationCacheService;
}
public async Task<IActionResult> Index(string name = null, string userEmail = null, int page = 1, int count = 25)
{
if (page < 1)
@@ -57,7 +60,7 @@ namespace Bit.Admin.Controllers
SelfHosted = _globalSettings.SelfHosted
});
}
public IActionResult Create(string ownerEmail = null)
{
return View(new CreateProviderModel
@@ -65,7 +68,7 @@ namespace Bit.Admin.Controllers
OwnerEmail = ownerEmail
});
}
[HttpPost]
public async Task<IActionResult> Create(CreateProviderModel model)
{
@@ -78,7 +81,7 @@ namespace Bit.Admin.Controllers
return RedirectToAction("Index");
}
public async Task<IActionResult> View(Guid id)
{
var provider = await _providerRepository.GetByIdAsync(id);
@@ -88,9 +91,10 @@ namespace Bit.Admin.Controllers
}
var users = await _providerUserRepository.GetManyDetailsByProviderAsync(id);
return View(new ProviderViewModel(provider, users));
var providerOrganizations = await _providerOrganizationRepository.GetManyDetailsByProviderAsync(id);
return View(new ProviderViewModel(provider, users, providerOrganizations));
}
[SelfHosted(NotSelfHostedOnly = true)]
public async Task<IActionResult> Edit(Guid id)
{
@@ -101,9 +105,10 @@ namespace Bit.Admin.Controllers
}
var users = await _providerUserRepository.GetManyDetailsByProviderAsync(id);
return View(new ProviderEditModel(provider, users));
var providerOrganizations = await _providerOrganizationRepository.GetManyDetailsByProviderAsync(id);
return View(new ProviderEditModel(provider, users, providerOrganizations));
}
[HttpPost]
[ValidateAntiForgeryToken]
[SelfHosted(NotSelfHostedOnly = true)]
@@ -120,19 +125,6 @@ namespace Bit.Admin.Controllers
await _applicationCacheService.UpsertProviderAbilityAsync(provider);
return RedirectToAction("Edit", new { id });
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(Guid id)
{
var provider = await _providerRepository.GetByIdAsync(id);
if (provider != null)
{
await _providerRepository.DeleteAsync(provider);
}
return RedirectToAction("Index");
}
public async Task<IActionResult> ResendInvite(Guid ownerId, Guid providerId)
{