@using Bit.Admin.Enums; @inject Bit.Admin.Services.IAccessControlService AccessControlService @inject Bit.Core.Services.IFeatureService FeatureService @inject Bit.Core.Settings.GlobalSettings GlobalSettings @inject IWebHostEnvironment HostingEnvironment @model UserEditModel @{ ViewData["Title"] = "User: " + Model.User.Email; var canViewUserInformation = AccessControlService.UserHasPermission(Permission.User_UserInformation_View); var canViewNewDeviceException = AccessControlService.UserHasPermission(Permission.User_NewDeviceException_Edit) && GlobalSettings.EnableNewDeviceVerification && FeatureService.IsEnabled(Bit.Core.FeatureFlagKeys.NewDeviceVerification); var canViewBillingInformation = AccessControlService.UserHasPermission(Permission.User_BillingInformation_View); var canViewGeneral = AccessControlService.UserHasPermission(Permission.User_GeneralDetails_View); var canViewPremium = AccessControlService.UserHasPermission(Permission.User_Premium_View); var canViewLicensing = AccessControlService.UserHasPermission(Permission.User_Licensing_View); var canViewBilling = AccessControlService.UserHasPermission(Permission.User_Billing_View); var canEditPremium = AccessControlService.UserHasPermission(Permission.User_Premium_Edit); var canEditLicensing = AccessControlService.UserHasPermission(Permission.User_Licensing_Edit); var canEditBilling = AccessControlService.UserHasPermission(Permission.User_Billing_Edit); var canLaunchGateway = AccessControlService.UserHasPermission(Permission.User_Billing_LaunchGateway); var canUpgradePremium = AccessControlService.UserHasPermission(Permission.User_UpgradePremium); var canDeleteUser = AccessControlService.UserHasPermission(Permission.User_Delete); } @section Scripts { }

User @Model.User.Email

@if (canViewUserInformation) {

User Information

@await Html.PartialAsync("_ViewInformation", Model.User) } @if (canViewNewDeviceException) {

New Device Verification

@if (Model.ActiveNewDeviceVerificationException) {

Status: Bypassed

} else {

Status: Required

}
} @if (canViewBillingInformation) {

Billing Information

@await Html.PartialAsync("_BillingInformation", new BillingInformationModel { BillingInfo = Model.BillingInfo, BillingHistoryInfo = Model.BillingHistoryInfo, UserId = Model.User.Id, Entity = "User" }) } @if (canViewGeneral) {

General

Name
@Model.Name
Email
@Model.Email
}
@if (canViewPremium) {

Premium

} @if (canViewLicensing) {

Licensing

} @if (canViewBilling) {

Billing

@if (canLaunchGateway) { }
@if (canLaunchGateway) { }
}
@if (canUpgradePremium) { } @if (canDeleteUser) {
}