mirror of
https://github.com/bitwarden/server.git
synced 2025-02-26 03:31:34 +01:00
[AC-1895] AC Team code ownership moves: Bitwarden Portal (#3528)
--------- Co-authored-by: Addison Beck <hello@addisonbeck.com>
This commit is contained in:
parent
3a6b2d85d3
commit
0abd52b5be
@ -1,5 +1,5 @@
|
|||||||
using Bit.Admin.Enums;
|
using Bit.Admin.AdminConsole.Models;
|
||||||
using Bit.Admin.Models;
|
using Bit.Admin.Enums;
|
||||||
using Bit.Admin.Services;
|
using Bit.Admin.Services;
|
||||||
using Bit.Admin.Utilities;
|
using Bit.Admin.Utilities;
|
||||||
using Bit.Core.AdminConsole.Entities;
|
using Bit.Core.AdminConsole.Entities;
|
||||||
@ -23,7 +23,7 @@ using Bit.Core.Vault.Repositories;
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Admin.Controllers;
|
namespace Bit.Admin.AdminConsole.Controllers;
|
||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public class OrganizationsController : Controller
|
public class OrganizationsController : Controller
|
||||||
@ -38,7 +38,6 @@ public class OrganizationsController : Controller
|
|||||||
private readonly IGroupRepository _groupRepository;
|
private readonly IGroupRepository _groupRepository;
|
||||||
private readonly IPolicyRepository _policyRepository;
|
private readonly IPolicyRepository _policyRepository;
|
||||||
private readonly IPaymentService _paymentService;
|
private readonly IPaymentService _paymentService;
|
||||||
private readonly ILicensingService _licensingService;
|
|
||||||
private readonly IApplicationCacheService _applicationCacheService;
|
private readonly IApplicationCacheService _applicationCacheService;
|
||||||
private readonly GlobalSettings _globalSettings;
|
private readonly GlobalSettings _globalSettings;
|
||||||
private readonly IReferenceEventService _referenceEventService;
|
private readonly IReferenceEventService _referenceEventService;
|
||||||
@ -65,7 +64,6 @@ public class OrganizationsController : Controller
|
|||||||
IGroupRepository groupRepository,
|
IGroupRepository groupRepository,
|
||||||
IPolicyRepository policyRepository,
|
IPolicyRepository policyRepository,
|
||||||
IPaymentService paymentService,
|
IPaymentService paymentService,
|
||||||
ILicensingService licensingService,
|
|
||||||
IApplicationCacheService applicationCacheService,
|
IApplicationCacheService applicationCacheService,
|
||||||
GlobalSettings globalSettings,
|
GlobalSettings globalSettings,
|
||||||
IReferenceEventService referenceEventService,
|
IReferenceEventService referenceEventService,
|
||||||
@ -91,7 +89,6 @@ public class OrganizationsController : Controller
|
|||||||
_groupRepository = groupRepository;
|
_groupRepository = groupRepository;
|
||||||
_policyRepository = policyRepository;
|
_policyRepository = policyRepository;
|
||||||
_paymentService = paymentService;
|
_paymentService = paymentService;
|
||||||
_licensingService = licensingService;
|
|
||||||
_applicationCacheService = applicationCacheService;
|
_applicationCacheService = applicationCacheService;
|
||||||
_globalSettings = globalSettings;
|
_globalSettings = globalSettings;
|
||||||
_referenceEventService = referenceEventService;
|
_referenceEventService = referenceEventService;
|
@ -8,7 +8,7 @@ using Bit.Core.Utilities;
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Admin.Controllers;
|
namespace Bit.Admin.AdminConsole.Controllers;
|
||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[SelfHosted(NotSelfHostedOnly = true)]
|
[SelfHosted(NotSelfHostedOnly = true)]
|
@ -1,5 +1,5 @@
|
|||||||
using Bit.Admin.Enums;
|
using Bit.Admin.AdminConsole.Models;
|
||||||
using Bit.Admin.Models;
|
using Bit.Admin.Enums;
|
||||||
using Bit.Admin.Utilities;
|
using Bit.Admin.Utilities;
|
||||||
using Bit.Core;
|
using Bit.Core;
|
||||||
using Bit.Core.AdminConsole.Entities.Provider;
|
using Bit.Core.AdminConsole.Entities.Provider;
|
||||||
@ -15,7 +15,7 @@ using Bit.Core.Utilities;
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace Bit.Admin.Controllers;
|
namespace Bit.Admin.AdminConsole.Controllers;
|
||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[SelfHosted(NotSelfHostedOnly = true)]
|
[SelfHosted(NotSelfHostedOnly = true)]
|
@ -3,7 +3,7 @@ using Bit.Core.AdminConsole.Entities.Provider;
|
|||||||
using Bit.Core.AdminConsole.Enums.Provider;
|
using Bit.Core.AdminConsole.Enums.Provider;
|
||||||
using Bit.SharedWeb.Utilities;
|
using Bit.SharedWeb.Utilities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class CreateProviderModel : IValidatableObject
|
public class CreateProviderModel : IValidatableObject
|
||||||
{
|
{
|
@ -11,7 +11,7 @@ using Bit.Core.Utilities;
|
|||||||
using Bit.Core.Vault.Entities;
|
using Bit.Core.Vault.Entities;
|
||||||
using Bit.SharedWeb.Utilities;
|
using Bit.SharedWeb.Utilities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class OrganizationEditModel : OrganizationViewModel
|
public class OrganizationEditModel : OrganizationViewModel
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Bit.Core.AdminConsole.Entities;
|
using Bit.Core.AdminConsole.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class OrganizationSelectableViewModel : Organization
|
public class OrganizationSelectableViewModel : Organization
|
||||||
{
|
{
|
@ -1,6 +1,7 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Bit.Admin.Models;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class OrganizationUnassignedToProviderSearchViewModel : PagedModel<OrganizationSelectableViewModel>
|
public class OrganizationUnassignedToProviderSearchViewModel : PagedModel<OrganizationSelectableViewModel>
|
||||||
{
|
{
|
@ -5,7 +5,7 @@ using Bit.Core.Enums;
|
|||||||
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
|
||||||
using Bit.Core.Vault.Entities;
|
using Bit.Core.Vault.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class OrganizationViewModel
|
public class OrganizationViewModel
|
||||||
{
|
{
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Core.AdminConsole.Entities;
|
using Bit.Admin.Models;
|
||||||
|
using Bit.Core.AdminConsole.Entities;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class OrganizationsModel : PagedModel<Organization>
|
public class OrganizationsModel : PagedModel<Organization>
|
||||||
{
|
{
|
@ -2,7 +2,7 @@
|
|||||||
using Bit.Core.AdminConsole.Entities.Provider;
|
using Bit.Core.AdminConsole.Entities.Provider;
|
||||||
using Bit.Core.AdminConsole.Models.Data.Provider;
|
using Bit.Core.AdminConsole.Models.Data.Provider;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class ProviderEditModel : ProviderViewModel
|
public class ProviderEditModel : ProviderViewModel
|
||||||
{
|
{
|
@ -2,7 +2,7 @@
|
|||||||
using Bit.Core.AdminConsole.Enums.Provider;
|
using Bit.Core.AdminConsole.Enums.Provider;
|
||||||
using Bit.Core.AdminConsole.Models.Data.Provider;
|
using Bit.Core.AdminConsole.Models.Data.Provider;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class ProviderViewModel
|
public class ProviderViewModel
|
||||||
{
|
{
|
@ -1,6 +1,7 @@
|
|||||||
using Bit.Core.AdminConsole.Entities.Provider;
|
using Bit.Admin.Models;
|
||||||
|
using Bit.Core.AdminConsole.Entities.Provider;
|
||||||
|
|
||||||
namespace Bit.Admin.Models;
|
namespace Bit.Admin.AdminConsole.Models;
|
||||||
|
|
||||||
public class ProvidersModel : PagedModel<Provider>
|
public class ProvidersModel : PagedModel<Provider>
|
||||||
{
|
{
|
@ -1,3 +1,4 @@
|
|||||||
|
@using Bit.Core.Enums
|
||||||
@model OrganizationViewModel
|
@model OrganizationViewModel
|
||||||
<h2>Connections</h2>
|
<h2>Connections</h2>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -49,7 +50,7 @@
|
|||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@if(connection.Enabled)
|
@if(connection.Enabled)
|
||||||
{
|
{
|
||||||
@if(@TempData["ConnectionActivated"] != null && @TempData["ConnectionActivated"].ToString() == @Model.Organization.Id.ToString())
|
@if(@TempData["ConnectionActivated"] != null && @TempData["ConnectionActivated"].ToString() == @Model.Organization.Id.ToString())
|
||||||
{
|
{
|
||||||
@ -62,8 +63,8 @@
|
|||||||
{
|
{
|
||||||
@if(connection.Type.Equals(OrganizationConnectionType.CloudBillingSync))
|
@if(connection.Type.Equals(OrganizationConnectionType.CloudBillingSync))
|
||||||
{
|
{
|
||||||
<a class="btn btn-outline-secondary btn-sm"
|
<a class="btn btn-outline-secondary btn-sm"
|
||||||
data-id="@connection.Id" asp-controller="Organizations"
|
data-id="@connection.Id" asp-controller="Organizations"
|
||||||
asp-action="TriggerBillingSync" asp-route-id="@Model.Organization.Id">
|
asp-action="TriggerBillingSync" asp-route-id="@Model.Organization.Id">
|
||||||
Manually Sync
|
Manually Sync
|
||||||
</a>
|
</a>
|
||||||
@ -78,4 +79,4 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -1,4 +1,6 @@
|
|||||||
@using Bit.Admin.Enums;
|
@using Bit.Admin.Enums;
|
||||||
|
@using Bit.Admin.Models
|
||||||
|
@using Bit.Core.Enums
|
||||||
@inject Bit.Admin.Services.IAccessControlService AccessControlService
|
@inject Bit.Admin.Services.IAccessControlService AccessControlService
|
||||||
@model OrganizationEditModel
|
@model OrganizationEditModel
|
||||||
@{
|
@{
|
||||||
@ -12,7 +14,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@section Scripts {
|
@section Scripts {
|
||||||
@await Html.PartialAsync("_OrganizationFormScripts")
|
@await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationFormScripts.cshtml")
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
(() => {
|
(() => {
|
||||||
@ -77,7 +79,7 @@
|
|||||||
new BillingInformationModel { BillingInfo = Model.BillingInfo, OrganizationId = Model.Organization.Id, Entity = "Organization" })
|
new BillingInformationModel { BillingInfo = Model.BillingInfo, OrganizationId = Model.Organization.Id, Entity = "Organization" })
|
||||||
}
|
}
|
||||||
|
|
||||||
@await Html.PartialAsync("_OrganizationForm", Model)
|
@await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationForm.cshtml", Model)
|
||||||
|
|
||||||
<div class="d-flex mt-4">
|
<div class="d-flex mt-4">
|
||||||
<button type="submit" class="btn btn-primary" form="edit-form">Save</button>
|
<button type="submit" class="btn btn-primary" form="edit-form">Save</button>
|
@ -1,5 +1,4 @@
|
|||||||
@using Bit.SharedWeb.Utilities
|
@using Bit.SharedWeb.Utilities
|
||||||
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
|
||||||
@model OrganizationUnassignedToProviderSearchViewModel
|
@model OrganizationUnassignedToProviderSearchViewModel
|
||||||
|
|
||||||
@{
|
@{
|
@ -38,7 +38,7 @@
|
|||||||
@admin.Status
|
@admin.Status
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@if(admin.Status.Equals(ProviderUserStatusType.Confirmed)
|
@if(admin.Status.Equals(ProviderUserStatusType.Confirmed)
|
||||||
&& @Model.Provider.Status.Equals(ProviderStatusType.Pending)
|
&& @Model.Provider.Status.Equals(ProviderStatusType.Pending)
|
||||||
&& canResendEmailInvite)
|
&& canResendEmailInvite)
|
||||||
{
|
{
|
||||||
@ -48,9 +48,9 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<a class="btn btn-outline-secondary btn-sm"
|
<a class="btn btn-outline-secondary btn-sm"
|
||||||
data-id="@admin.Id" asp-controller="Providers"
|
data-id="@admin.Id" asp-controller="Providers"
|
||||||
asp-action="ResendInvite" asp-route-ownerId="@admin.UserId"
|
asp-action="ResendInvite" asp-route-ownerId="@admin.UserId"
|
||||||
asp-route-providerId="@Model.Provider.Id">
|
asp-route-providerId="@Model.Provider.Id">
|
||||||
Resend Setup Invite
|
Resend Setup Invite
|
||||||
</a>
|
</a>
|
@ -4,7 +4,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@section Scripts {
|
@section Scripts {
|
||||||
@await Html.PartialAsync("_OrganizationFormScripts")
|
@await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationFormScripts.cshtml")
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
(() => {
|
(() => {
|
||||||
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<h1>New Client Organization</h1>
|
<h1>New Client Organization</h1>
|
||||||
|
|
||||||
@await Html.PartialAsync("_OrganizationForm", Model)
|
@await Html.PartialAsync("~/AdminConsole/Views/Shared/_OrganizationForm.cshtml", Model)
|
||||||
<div class="d-flex mt-4">
|
<div class="d-flex mt-4">
|
||||||
<button type="submit" class="btn btn-primary" form="edit-form">Save</button>
|
<button type="submit" class="btn btn-primary" form="edit-form">Save</button>
|
||||||
<div class="ml-auto d-flex">
|
<div class="ml-auto d-flex">
|
@ -1,6 +1,7 @@
|
|||||||
@using Bit.Core.AdminConsole.Enums.Provider
|
@using Bit.Core.AdminConsole.Enums.Provider
|
||||||
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
@using Bit.Admin.Enums
|
@using Bit.Admin.Enums
|
||||||
|
@using Bit.Core.Enums
|
||||||
@inject Bit.Admin.Services.IAccessControlService AccessControlService
|
@inject Bit.Admin.Services.IAccessControlService AccessControlService
|
||||||
@model ProviderViewModel
|
@model ProviderViewModel
|
||||||
|
|
@ -7,13 +7,13 @@
|
|||||||
|
|
||||||
<dt class="col-sm-4 col-lg-3">Status</dt>
|
<dt class="col-sm-4 col-lg-3">Status</dt>
|
||||||
<dd class="col-sm-8 col-lg-9">@Model.Provider.Status</dd>
|
<dd class="col-sm-8 col-lg-9">@Model.Provider.Status</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4 col-lg-3">Users</dt>
|
<dt class="col-sm-4 col-lg-3">Users</dt>
|
||||||
<dd class="col-sm-8 col-lg-9">@(Model.Provider.Type == ProviderType.Reseller ? "N/A" : Model.UserCount)</dd>
|
<dd class="col-sm-8 col-lg-9">@(Model.Provider.Type == ProviderType.Reseller ? "N/A" : Model.UserCount)</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4 col-lg-3">Provider Type</dt>
|
<dt class="col-sm-4 col-lg-3">Provider Type</dt>
|
||||||
<dd class="col-sm-8 col-lg-9">@(Model.Provider.Type.GetDisplayAttribute()?.GetName())</dd>
|
<dd class="col-sm-8 col-lg-9">@(Model.Provider.Type.GetDisplayAttribute()?.GetName())</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4 col-lg-3">Created</dt>
|
<dt class="col-sm-4 col-lg-3">Created</dt>
|
||||||
<dd class="col-sm-8 col-lg-9">@Model.Provider.CreationDate.ToString()</dd>
|
<dd class="col-sm-8 col-lg-9">@Model.Provider.CreationDate.ToString()</dd>
|
||||||
|
|
@ -1,6 +1,7 @@
|
|||||||
@using Bit.SharedWeb.Utilities
|
|
||||||
@using Bit.Admin.Enums;
|
@using Bit.Admin.Enums;
|
||||||
|
@using Bit.Core.Enums
|
||||||
@using Bit.Core.AdminConsole.Enums.Provider
|
@using Bit.Core.AdminConsole.Enums.Provider
|
||||||
|
@using Bit.SharedWeb.Utilities
|
||||||
@inject Bit.Admin.Services.IAccessControlService AccessControlService;
|
@inject Bit.Admin.Services.IAccessControlService AccessControlService;
|
||||||
|
|
||||||
@model OrganizationEditModel
|
@model OrganizationEditModel
|
@ -1,5 +1,6 @@
|
|||||||
@inject IWebHostEnvironment HostingEnvironment
|
@inject IWebHostEnvironment HostingEnvironment
|
||||||
@using Bit.Admin.Utilities
|
@using Bit.Admin.Utilities
|
||||||
|
@using Bit.Core.Enums
|
||||||
@model OrganizationEditModel
|
@model OrganizationEditModel
|
||||||
|
|
||||||
<script>
|
<script>
|
5
src/Admin/AdminConsole/Views/_ViewImports.cshtml
Normal file
5
src/Admin/AdminConsole/Views/_ViewImports.cshtml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
@using Microsoft.AspNetCore.Identity
|
||||||
|
@using Bit.Admin.AdminConsole
|
||||||
|
@using Bit.Admin.AdminConsole.Models
|
||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
@addTagHelper "*, Admin"
|
3
src/Admin/AdminConsole/Views/_ViewStart.cshtml
Normal file
3
src/Admin/AdminConsole/Views/_ViewStart.cshtml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
@{
|
||||||
|
Layout = "_Layout";
|
||||||
|
}
|
@ -107,6 +107,7 @@ public class Startup
|
|||||||
services.Configure<RazorViewEngineOptions>(o =>
|
services.Configure<RazorViewEngineOptions>(o =>
|
||||||
{
|
{
|
||||||
o.ViewLocationFormats.Add("/Auth/Views/{1}/{0}.cshtml");
|
o.ViewLocationFormats.Add("/Auth/Views/{1}/{0}.cshtml");
|
||||||
|
o.ViewLocationFormats.Add("/AdminConsole/Views/{1}/{0}.cshtml");
|
||||||
});
|
});
|
||||||
|
|
||||||
// Jobs service
|
// Jobs service
|
||||||
|
Loading…
Reference in New Issue
Block a user