Remove setting connection string on the tenant management UI.

Resolve #7655
pull/7659/head
maliming 5 years ago
parent 835aa88f4c
commit 8a2100c1d5

@ -40,10 +40,6 @@
RequiredPolicy="@UpdatePolicyName"
Clicked="() => OpenEditModalAsync(context)"
Text="@L["Edit"]"></EntityAction>
<EntityAction TItem="TenantDto"
RequiredPolicy="@ManageConnectionStringsPolicyName"
Clicked="() => OpenEditConnectionStringModalAsync(context)"
Text="@L["ConnectionStrings"]"></EntityAction>
<EntityAction TItem="TenantDto"
RequiredPolicy="@ManageFeaturesPolicyName"
Clicked="() => FeatureManagementModal.OpenAsync(FeatureProviderName, context.Id.ToString())"
@ -154,45 +150,6 @@
</Modal>
}
@* ************************* EDIT CONNECTION STRING MODAL ************************* *@
@if (HasManageConnectionStringsPermission)
{
<Modal @ref="@ManageConnectionStringModal">
<ModalBackdrop />
<ModalContent Centered="true">
<Form>
<ModalHeader>
<ModalTitle>@L["ConnectionStrings"]</ModalTitle>
<CloseButton Clicked="CloseEditConnectionStringModal" />
</ModalHeader>
<ModalBody>
<Validations @ref="@ManageConnectionStringValidations" Model="@TenantInfo" ValidateOnLoad="false">
<Validation MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@L["DisplayName:UseSharedDatabase"]</FieldLabel>
<Check TValue="bool" @bind-Checked="@TenantInfo.UseSharedDatabase" Cursor="@Cursor.Pointer" />
</Field>
</Validation>
@if (!TenantInfo.UseSharedDatabase)
{
<Validation MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@L["DisplayName:DefaultConnectionString"]</FieldLabel>
<TextEdit @bind-Text="@TenantInfo.DefaultConnectionString" />
</Field>
</Validation>
}
</Validations>
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="CloseEditConnectionStringModal">@L["Cancel"]</Button>
<SubmitButton Clicked="@UpdateConnectionStringAsync" />
</ModalFooter>
</Form>
</ModalContent>
</Modal>
}
@if (HasManageFeaturesPermission)
{
<FeatureManagementModal @ref="FeatureManagementModal" />

@ -20,9 +20,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
protected FeatureManagementModal FeatureManagementModal;
protected Modal ManageConnectionStringModal;
protected Validations ManageConnectionStringValidations;
protected TenantInfoModel TenantInfo;
public TenantManagement()
@ -33,8 +30,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
CreatePolicyName = TenantManagementPermissions.Tenants.Create;
UpdatePolicyName = TenantManagementPermissions.Tenants.Update;
DeletePolicyName = TenantManagementPermissions.Tenants.Delete;
ManageConnectionStringsPolicyName = TenantManagementPermissions.Tenants.ManageConnectionStrings;
ManageFeaturesPolicyName = TenantManagementPermissions.Tenants.ManageFeatures;
TenantInfo = new TenantInfoModel();
}
@ -47,47 +42,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
HasManageFeaturesPermission = await AuthorizationService.IsGrantedAsync(ManageFeaturesPolicyName);
}
protected virtual async Task OpenEditConnectionStringModalAsync(TenantDto entity)
{
ManageConnectionStringValidations.ClearAll();
var tenantConnectionString = await AppService.GetDefaultConnectionStringAsync(entity.Id);
TenantInfo = new TenantInfoModel
{
Id = entity.Id,
DefaultConnectionString = tenantConnectionString,
UseSharedDatabase = tenantConnectionString.IsNullOrWhiteSpace()
};
ManageConnectionStringModal.Show();
}
protected virtual Task CloseEditConnectionStringModal()
{
ManageConnectionStringModal.Hide();
return Task.CompletedTask;
}
protected virtual async Task UpdateConnectionStringAsync()
{
if (ManageConnectionStringValidations.ValidateAll())
{
await CheckPolicyAsync(ManageConnectionStringsPolicyName);
if (TenantInfo.UseSharedDatabase || TenantInfo.DefaultConnectionString.IsNullOrWhiteSpace())
{
await AppService.DeleteDefaultConnectionStringAsync(TenantInfo.Id);
}
else
{
await AppService.UpdateDefaultConnectionStringAsync(TenantInfo.Id, TenantInfo.DefaultConnectionString);
}
ManageConnectionStringModal.Hide();
}
}
protected override string GetDeleteConfirmationMessage(TenantDto entity)
{
return string.Format(L["TenantDeletionConfirmationMessage"], entity.Name);
@ -103,4 +57,4 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
[Required]
public string DefaultConnectionString { get; set; }
}
}
}

@ -1,26 +0,0 @@
@page
@using Microsoft.Extensions.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal
@using Volo.Abp.TenantManagement.Localization
@using Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
@model ConnectionStringsModal
@inject IStringLocalizer<AbpTenantManagementResource> L
@{
Layout = null;
}
<form method="post" asp-page="/TenantManagement/Tenants/ConnectionStringsModal">
<abp-modal>
<abp-modal-header title="@L["ConnectionStrings"]"></abp-modal-header>
<abp-modal-body>
<abp-input asp-for="Tenant.Id"></abp-input>
<abp-input asp-for="Tenant.UseSharedDatabase"></abp-input>
<div id="Tenant_DefaultConnectionString_Wrap" class="@(Model.Tenant.UseSharedDatabase ? "d-none" : "")" >
<abp-input asp-for="Tenant.DefaultConnectionString"></abp-input>
</div>
</abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer>
</abp-modal>
</form>

@ -1,61 +0,0 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
{
public class ConnectionStringsModal : TenantManagementPageModel
{
[BindProperty]
public TenantInfoModel Tenant { get; set; }
protected ITenantAppService TenantAppService { get; }
public ConnectionStringsModal(ITenantAppService tenantAppService)
{
TenantAppService = tenantAppService;
}
public virtual async Task<IActionResult> OnGetAsync(Guid id)
{
var defaultConnectionString = await TenantAppService.GetDefaultConnectionStringAsync(id);
Tenant = new TenantInfoModel
{
Id = id,
DefaultConnectionString = defaultConnectionString,
UseSharedDatabase = defaultConnectionString.IsNullOrWhiteSpace()
};
return Page();
}
public virtual async Task<IActionResult> OnPostAsync()
{
ValidateModel();
if (Tenant.UseSharedDatabase || Tenant.DefaultConnectionString.IsNullOrWhiteSpace())
{
await TenantAppService.DeleteDefaultConnectionStringAsync(Tenant.Id);
}
else
{
await TenantAppService.UpdateDefaultConnectionStringAsync(Tenant.Id, Tenant.DefaultConnectionString);
}
return NoContent();
}
public class TenantInfoModel
{
[HiddenInput]
public Guid Id { get; set; }
public bool UseSharedDatabase { get; set; }
[DynamicStringLength(typeof(TenantConnectionStringConsts), nameof(TenantConnectionStringConsts.MaxValueLength))]
public string DefaultConnectionString { get; set; }
}
}
}

@ -1,20 +0,0 @@
(function ($) {
abp.modals.TenantConnectionStringManagement = function () {
var initModal = function (publicApi, args) {
publicApi
.getModal()
.find('input[name="Tenant.UseSharedDatabase"]')
.change(function () {
var $this = $(this);
$('#Tenant_DefaultConnectionString_Wrap').toggleClass(
'd-none'
);
$this.val($this.prop('checked'));
});
};
return {
initModal: initModal,
};
};
})(jQuery);

@ -11,11 +11,6 @@
var _featuresModal = new abp.ModalManager(
abp.appPath + 'FeatureManagement/FeatureManagementModal'
);
var _connectionStringsModal = new abp.ModalManager({
viewUrl:
abp.appPath + 'TenantManagement/Tenants/ConnectionStringsModal',
modalClass: 'TenantConnectionStringManagement',
});
var _dataTable = null;
@ -34,17 +29,6 @@
});
},
},
{
text: l('ConnectionStrings'),
visible: abp.auth.isGranted(
'AbpTenantManagement.Tenants.ManageConnectionStrings'
),
action: function (data) {
_connectionStringsModal.open({
id: data.record.id,
});
},
},
{
text: l('Features'),
visible: abp.auth.isGranted(

Loading…
Cancel
Save