Browse Source

use datagrid entity actions column usage in modules.

pull/5890/head
Ilkay Ilknur 6 years ago
parent
commit
700946270a
  1. 117
      modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor
  2. 16
      modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs
  3. 62
      modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor
  4. 22
      modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs
  5. 1
      modules/identity/src/Volo.Abp.Identity.Blazor/_Imports.razor
  6. 81
      modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor
  7. 43
      modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs
  8. 1
      modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/_Imports.razor

117
modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor

@ -1,5 +1,5 @@
@page "/identity/roles"
@attribute [Authorize( IdentityPermissions.Roles.Default )]
@attribute [Authorize(IdentityPermissions.Roles.Default)]
@using Volo.Abp.Identity
@using Microsoft.AspNetCore.Authorization
@using Microsoft.Extensions.Localization
@ -14,7 +14,7 @@
<Heading Size="HeadingSize.Is1">@L["Roles"]</Heading>
</Column>
<Column ColumnSize="ColumnSize.Is6">
@if ( HasCreatePermission )
@if (HasCreatePermission)
{
<Paragraph Alignment="TextAlignment.Right">
<Button Color="Color.Primary" Clicked="OpenCreateModalAsync">@L["NewRole"]</Button>
@ -31,40 +31,33 @@
ShowPager="true"
PageSize="PageSize">
<DataGridColumns>
@if ( ShouldShowEntityActions )
{
<DataGridColumn Width="150px" TItem="IdentityRoleDto" Field="@nameof(IdentityRoleDto.Name)" Sortable="false" Caption="@L["Actions"].Value">
<DisplayTemplate>
<Dropdown>
<DropdownToggle Color="Color.Primary">
@L["Actions"]
</DropdownToggle>
<DropdownMenu>
@if ( HasUpdatePermission )
{
<DropdownItem Clicked="() => OpenEditModalAsync(context.As<IdentityRoleDto>().Id)">@L["Edit"]</DropdownItem>
}
@if ( HasManagePermissionsPermission )
{
<DropdownItem Clicked="() => PermissionManagementModal.OpenAsync(PermissionProviderName, context.As<IdentityRoleDto>().Name)">@L["Permissions"]</DropdownItem>
}
@if ( HasDeletePermission )
{
<DropdownItem Clicked="() => DeleteEntityAsync(context.As<IdentityRoleDto>())">@L["Delete"]</DropdownItem>
}
</DropdownMenu>
</Dropdown>
</DisplayTemplate>
</DataGridColumn>
}
<DataGridEntityActionsColumn TItem="IdentityRoleDto" @ref="@EntityActionsColumn">
<DisplayTemplate>
<EntityActions TItem="IdentityRoleDto" EntityActionsColumn="@EntityActionsColumn">
<EntityAction TItem="IdentityRoleDto"
RequiredPolicy="@UpdatePolicyName"
Clicked="() => OpenEditModalAsync(context.Id)"
Text="@L["Edit"]"></EntityAction>
<EntityAction TItem="IdentityRoleDto"
RequiredPolicy="@ManagePermissionsPolicyName"
Clicked="() => PermissionManagementModal.OpenAsync(PermissionProviderName, context.Name)"
Text="@L["Permissions"]"></EntityAction>
<EntityAction TItem="IdentityRoleDto"
RequiredPolicy="@DeletePolicyName"
Clicked="() => DeleteEntityAsync(context)"
ConfirmationMessage="()=> GetDeleteConfirmationMessage(context)"
Text="@L["Delete"]"></EntityAction>
</EntityActions>
</DisplayTemplate>
</DataGridEntityActionsColumn>
<DataGridColumn TItem="IdentityRoleDto" Field="@nameof(IdentityRoleDto.Name)" Caption="@L["RoleName"].Value">
<DisplayTemplate>
@(context.As<IdentityRoleDto>().Name)
@if ( context.As<IdentityRoleDto>().IsDefault )
@(context.Name)
@if (context.IsDefault)
{
<Badge Color="Color.Primary">@L["DisplayName:IsDefault"]</Badge>
}
@if ( context.As<IdentityRoleDto>().IsPublic )
@if (context.IsPublic)
{
<Badge Color="Color.Light">@L["DisplayName:IsPublic"]</Badge>
}
@ -74,42 +67,42 @@
</DataGrid>
@* ************************* CREATE MODAL ************************* *@
@if ( HasCreatePermission )
@if (HasCreatePermission)
{
<Modal @ref="CreateModal">
<ModalBackdrop />
<ModalContent Centered="true">
<ModalHeader>
<ModalTitle>@L["NewRole"]</ModalTitle>
<CloseButton Clicked="CloseCreateModalAsync" />
</ModalHeader>
<ModalBody>
<Validations @ref="@CreateValidationsRef" Model="@NewEntity" ValidateOnLoad="false">
<Validation MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@L["DisplayName:RoleName"]</FieldLabel>
<TextEdit @bind-Text="@NewEntity.Name">
<Feedback>
<ValidationError />
</Feedback>
</TextEdit>
</Field>
</Validation>
<Modal @ref="CreateModal">
<ModalBackdrop />
<ModalContent Centered="true">
<ModalHeader>
<ModalTitle>@L["NewRole"]</ModalTitle>
<CloseButton Clicked="CloseCreateModalAsync" />
</ModalHeader>
<ModalBody>
<Validations @ref="@CreateValidationsRef" Model="@NewEntity" ValidateOnLoad="false">
<Validation MessageLocalizer="@LH.Localize">
<Field>
<Check TValue="bool" @bind-Checked="@NewEntity.IsDefault">@L["DisplayName:IsDefault"]</Check>
<Check TValue="bool" @bind-Checked="@NewEntity.IsPublic">@L["DisplayName:IsPublic"]</Check>
<FieldLabel>@L["DisplayName:RoleName"]</FieldLabel>
<TextEdit @bind-Text="@NewEntity.Name">
<Feedback>
<ValidationError />
</Feedback>
</TextEdit>
</Field>
</Validations>
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="CloseCreateModalAsync">@L["Cancel"]</Button>
<Button Color="Color.Primary" Clicked="CreateEntityAsync">@L["Save"]</Button>
</ModalFooter>
</ModalContent>
</Modal>
</Validation>
<Field>
<Check TValue="bool" @bind-Checked="@NewEntity.IsDefault">@L["DisplayName:IsDefault"]</Check>
<Check TValue="bool" @bind-Checked="@NewEntity.IsPublic">@L["DisplayName:IsPublic"]</Check>
</Field>
</Validations>
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="CloseCreateModalAsync">@L["Cancel"]</Button>
<Button Color="Color.Primary" Clicked="CreateEntityAsync">@L["Save"]</Button>
</ModalFooter>
</ModalContent>
</Modal>
}
@* ************************* EDIT MODAL ************************* *@
@if ( HasUpdatePermission )
@if (HasUpdatePermission)
{
<Modal @ref="EditModal">
<ModalBackdrop />

16
modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs

@ -13,11 +13,10 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
protected const string PermissionProviderName = "R";
protected PermissionManagementModal PermissionManagementModal;
protected string ManagePermissionsPolicyName;
protected bool HasManagePermissionsPermission { get; set; }
protected bool ShouldShowEntityActions { get; set; }
public RoleManagementBase()
{
ObjectMapperContext = typeof(AbpIdentityBlazorModule);
@ -26,19 +25,12 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
CreatePolicyName = IdentityPermissions.Roles.Create;
UpdatePolicyName = IdentityPermissions.Roles.Update;
DeletePolicyName = IdentityPermissions.Roles.Delete;
ManagePermissionsPolicyName = IdentityPermissions.Roles.ManagePermissions;
}
protected override async Task SetPermissionsAsync()
protected override string GetDeleteConfirmationMessage(IdentityRoleDto entity)
{
await base.SetPermissionsAsync();
HasManagePermissionsPermission = await AuthorizationService.IsGrantedAsync(
IdentityPermissions.Roles.ManagePermissions
);
ShouldShowEntityActions = HasUpdatePermission ||
HasDeletePermission ||
HasManagePermissionsPermission;
return string.Format(L["RoleDeletionConfirmationMessage"], entity.Name);
}
}
}

62
modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor

@ -1,5 +1,5 @@
@page "/identity/users"
@attribute [Authorize( IdentityPermissions.Users.Default )]
@attribute [Authorize(IdentityPermissions.Users.Default)]
@using Microsoft.AspNetCore.Authorization
@using Microsoft.Extensions.Localization
@using Volo.Abp.Identity.Localization
@ -13,7 +13,7 @@
<h1>@L["Users"]</h1>
</Column>
<Column ColumnSize="ColumnSize.Is6">
@if ( HasCreatePermission )
@if (HasCreatePermission)
{
<Paragraph Alignment="TextAlignment.Right">
<Button Color="Color.Primary" Clicked="OpenCreateModalAsync">@L["NewUser"]</Button>
@ -30,33 +30,25 @@
ShowPager="true"
PageSize="PageSize">
<DataGridColumns>
@if ( ShouldShowEntityActions )
{
<DataGridColumn Width="150px" TItem="IdentityUserDto" Field="@nameof(IdentityUserDto.UserName)" Sortable="false" Caption="@L["Actions"].Value">
<DisplayTemplate>
<Dropdown>
<DropdownToggle Color="Color.Primary">
@L["Actions"]
</DropdownToggle>
<DropdownMenu>
@if ( HasUpdatePermission )
{
<DropdownItem Clicked="() => OpenEditModalAsync(context.As<IdentityUserDto>().Id)">@L["Edit"]</DropdownItem>
}
@if ( HasManagePermissionsPermission )
{
<DropdownItem Clicked="() => PermissionManagementModal.OpenAsync(PermissionProviderName, context.As<IdentityUserDto>().Id.ToString())">@L["Permissions"]</DropdownItem>
}
@if ( HasDeletePermission )
{
<DropdownDivider />
<DropdownItem Clicked="() => DeleteEntityAsync(context.As<IdentityUserDto>())">@L["Delete"]</DropdownItem>
}
</DropdownMenu>
</Dropdown>
</DisplayTemplate>
</DataGridColumn>
}
<DataGridEntityActionsColumn TItem="IdentityUserDto" @ref="@EntityActionsColumn">
<DisplayTemplate>
<EntityActions TItem="IdentityUserDto" EntityActionsColumn="@EntityActionsColumn">
<EntityAction TItem="IdentityUserDto"
RequiredPolicy="@UpdatePolicyName"
Clicked="() => OpenEditModalAsync(context.Id)"
Text="@L["Edit"]" />
<EntityAction TItem="IdentityUserDto"
RequiredPolicy="@ManagePermissionsPolicyName"
Clicked="() => PermissionManagementModal.OpenAsync(PermissionProviderName, context.Id.ToString())"
Text="@L["Permissions"]" />
<EntityAction TItem="IdentityUserDto"
RequiredPolicy="@DeletePolicyName"
Clicked="() => DeleteEntityAsync(context)"
ConfirmationMessage="()=>GetDeleteConfirmationMessage(context)"
Text="@L["Delete"]" />
</EntityActions>
</DisplayTemplate>
</DataGridEntityActionsColumn>
<DataGridColumn TItem="IdentityUserDto" Field="@nameof(IdentityUserDto.UserName)" Caption="@L["UserName"].Value">
<DisplayTemplate>
@(context.As<IdentityUserDto>().UserName)
@ -76,7 +68,7 @@
</DataGrid>
@* ************************* CREATE MODAL ************************* *@
@if ( HasCreatePermission )
@if (HasCreatePermission)
{
<Modal @ref="CreateModal">
<ModalBackdrop />
@ -159,9 +151,9 @@
</Field>
</TabPanel>
<TabPanel Name="Roles">
@if ( NewUserRoles != null )
@if (NewUserRoles != null)
{
@foreach ( var role in NewUserRoles )
@foreach (var role in NewUserRoles)
{
<Field>
<input type="hidden" @bind-value="@role.Name" />
@ -183,7 +175,7 @@
}
@* ************************* EDIT MODAL ************************* *@
@if ( HasUpdatePermission )
@if (HasUpdatePermission)
{
<Modal @ref="EditModal">
<ModalBackdrop />
@ -268,9 +260,9 @@
</Field>
</TabPanel>
<TabPanel Name="Roles">
@if ( EditUserRoles != null )
@if (EditUserRoles != null)
{
@foreach ( var role in EditUserRoles )
@foreach (var role in EditUserRoles)
{
<Field>
<input type="hidden" @bind-value="@role.Name" />

22
modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs

@ -24,8 +24,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
protected AssignedRoleViewModel[] EditUserRoles;
protected bool ShouldShowEntityActions { get; set; }
protected bool HasManagePermissionsPermission { get; set; }
protected string ManagePermissionsPolicyName;
protected string CreateModalSelectedTab = DefaultSelectedTab;
@ -39,6 +38,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
CreatePolicyName = IdentityPermissions.Users.Create;
UpdatePolicyName = IdentityPermissions.Users.Update;
DeletePolicyName = IdentityPermissions.Users.Delete;
ManagePermissionsPolicyName = IdentityPermissions.Users.ManagePermissions;
}
protected override async Task OnInitializedAsync()
@ -48,19 +48,6 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
Roles = (await AppService.GetAssignableRolesAsync()).Items;
}
protected override async Task SetPermissionsAsync()
{
await base.SetPermissionsAsync();
HasManagePermissionsPermission = await AuthorizationService.IsGrantedAsync(
IdentityPermissions.Users.ManagePermissions
);
ShouldShowEntityActions = HasUpdatePermission ||
HasDeletePermission ||
HasManagePermissionsPermission;
}
protected override async Task OnOpeningCreateModalAsync()
{
CreateModalSelectedTab = DefaultSelectedTab;
@ -104,6 +91,11 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity
return base.OnUpdatingEntityAsync();
}
protected override string GetDeleteConfirmationMessage(IdentityUserDto entity)
{
return string.Format(L["UserDeletionConfirmationMessage"], entity.UserName);
}
}
public class AssignedRoleViewModel

1
modules/identity/src/Volo.Abp.Identity.Blazor/_Imports.razor

@ -2,5 +2,6 @@
@using Volo.Abp.AspNetCore.Components.WebAssembly
@using Microsoft.AspNetCore.Components.Forms
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.BlazoriseUI.Components
@using Blazorise
@using Blazorise.DataGrid

81
modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor

@ -6,7 +6,6 @@
@using Volo.Abp.FeatureManagement.Blazor.Components
@inherits TenantManagementBase
@inject IStringLocalizer<AbpTenantManagementResource> L
@* ************************* PAGE HEADER ************************* *@
<Row>
<Column ColumnSize="ColumnSize.Is6">
@ -30,40 +29,32 @@
ShowPager="true"
PageSize="PageSize">
<DataGridColumns>
@if (ShouldShowEntityActions)
{
<DataGridColumn Width="150px" TItem="TenantDto" Field="@nameof(TenantDto.Name)" Sortable="false" Caption="@L["Actions"].Value">
<DisplayTemplate>
<Dropdown>
<DropdownToggle Color="Color.Primary">
@L["Actions"]
</DropdownToggle>
<DropdownMenu>
@if (HasUpdatePermission)
{
<DropdownItem Clicked="() => OpenEditModalAsync(context.As<TenantDto>().Id)">@L["Edit"]</DropdownItem>
}
@if (HasManageConnectionStringsPermission)
{
<DropdownItem Clicked="() => OpenEditConnectionStringModalAsync(context.As<TenantDto>().Id)">@L["ConnectionStrings"]</DropdownItem>
}
@if (HasManageFeaturesPermission)
{
<DropdownItem Clicked="() => FeatureManagementModal.OpenAsync(FeatureProviderName, context.As<TenantDto>().Id.ToString())">@L["Features"]</DropdownItem>
}
@if (HasDeletePermission)
{
<DropdownDivider/>
<DropdownItem Clicked="() => DeleteEntityAsync(context.As<TenantDto>())">@L["Delete"]</DropdownItem>
}
</DropdownMenu>
</Dropdown>
</DisplayTemplate>
</DataGridColumn>
}
<DataGridEntityActionsColumn TItem="TenantDto" @ref="@EntityActionsColumn">
<DisplayTemplate>
<EntityActions TItem="TenantDto" EntityActionsColumn="@EntityActionsColumn">
<EntityAction TItem="TenantDto"
RequiredPolicy="@UpdatePolicyName"
Clicked="() => OpenEditModalAsync(context.Id)"
Text="@L["Edit"]"></EntityAction>
<EntityAction TItem="TenantDto"
RequiredPolicy="@ManageConnectionStringsPolicyName"
Clicked="() => OpenEditConnectionStringModalAsync(context.Id)"
Text="@L["ConnectionStrings"]"></EntityAction>
<EntityAction TItem="TenantDto"
RequiredPolicy="@ManageFeaturesPolicyName"
Clicked="() => FeatureManagementModal.OpenAsync(FeatureProviderName, context.Id.ToString())"
Text="@L["Features"]"></EntityAction>
<EntityAction TItem="TenantDto"
RequiredPolicy="@DeletePolicyName"
Clicked="() => DeleteEntityAsync(context)"
ConfirmationMessage="()=>GetDeleteConfirmationMessage(context)"
Text="@L["Delete"]"></EntityAction>
</EntityActions>
</DisplayTemplate>
</DataGridEntityActionsColumn>
<DataGridColumn TItem="TenantDto" Field="@nameof(TenantDto.Name)" Caption="@L["TenantName"].Value">
<DisplayTemplate>
@(context.As<TenantDto>().Name)
@(context.Name)
</DisplayTemplate>
</DataGridColumn>
</DataGridColumns>
@ -73,25 +64,25 @@
@if (HasCreatePermission)
{
<Modal @ref="CreateModal">
<ModalBackdrop/>
<ModalBackdrop />
<ModalContent IsCentered="true">
<ModalHeader>
<ModalTitle>@L["NewTenant"]</ModalTitle>
<CloseButton Clicked="CloseCreateModalAsync"/>
<CloseButton Clicked="CloseCreateModalAsync" />
</ModalHeader>
<ModalBody>
<EditForm id="TenantCreateForm" Model="@NewEntity" OnValidSubmit="CreateEntityAsync">
<Field>
<FieldLabel>@L["TenantName"]</FieldLabel>
<TextEdit @bind-text="@NewEntity.Name"/>
<TextEdit @bind-text="@NewEntity.Name" />
</Field>
<Field>
<FieldLabel>@L["DisplayName:AdminEmailAddress"]</FieldLabel>
<TextEdit Role="@TextRole.Email" @bind-text="@NewEntity.AdminEmailAddress"/>
<TextEdit Role="@TextRole.Email" @bind-text="@NewEntity.AdminEmailAddress" />
</Field>
<Field>
<FieldLabel>@L["DisplayName:AdminPassword"]</FieldLabel>
<TextEdit Role="@TextRole.Password" @bind-text="@NewEntity.AdminPassword"/>
<TextEdit Role="@TextRole.Password" @bind-text="@NewEntity.AdminPassword" />
</Field>
</EditForm>
</ModalBody>
@ -107,17 +98,17 @@
@if (HasUpdatePermission)
{
<Modal @ref="EditModal">
<ModalBackdrop/>
<ModalBackdrop />
<ModalContent IsCentered="true">
<ModalHeader>
<ModalTitle>@L["Edit"]</ModalTitle>
<CloseButton Clicked="CloseEditModalAsync"/>
<CloseButton Clicked="CloseEditModalAsync" />
</ModalHeader>
<ModalBody>
<EditForm id="TenantEditForm" Model="@EditingEntity" OnValidSubmit="UpdateEntityAsync">
<Field>
<FieldLabel>@L["TenantName"]</FieldLabel>
<TextEdit @bind-text="@EditingEntity.Name"/>
<TextEdit @bind-text="@EditingEntity.Name" />
</Field>
</EditForm>
</ModalBody>
@ -133,11 +124,11 @@
@if (HasUpdatePermission)
{
<Modal @ref="@ManageConnectionStringModal">
<ModalBackdrop/>
<ModalBackdrop />
<ModalContent IsCentered="true">
<ModalHeader>
<ModalTitle>@L["ConnectionStrings"]</ModalTitle>
<CloseButton Clicked="CloseEditConnectionStringModal"/>
<CloseButton Clicked="CloseEditConnectionStringModal" />
</ModalHeader>
<ModalBody>
<EditForm id="ConnectionStringEditForm" Model="@TenantInfo" OnValidSubmit="UpdateConnectionStringAsync">
@ -149,7 +140,7 @@
{
<Field>
<FieldLabel>@L["DisplayName:DefaultConnectionString"]</FieldLabel>
<TextEdit @bind-text="@TenantInfo.DefaultConnectionString"/>
<TextEdit @bind-text="@TenantInfo.DefaultConnectionString" />
</Field>
}
</EditForm>
@ -164,5 +155,5 @@
@if (HasManageFeaturesPermission)
{
<FeatureManagementModal @ref="FeatureManagementModal"/>
<FeatureManagementModal @ref="FeatureManagementModal" />
}

43
modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs

@ -7,21 +7,22 @@ using Volo.Abp.FeatureManagement.Blazor.Components;
namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
{
public abstract class TenantManagementBase
public abstract class TenantManagementBase
: AbpCrudPageBase<ITenantAppService, TenantDto, Guid, GetTenantsInput, TenantCreateDto, TenantUpdateDto>
{
protected const string FeatureProviderName = "T";
protected bool ShouldShowEntityActions;
protected bool HasManageConnectionStringsPermission;
protected bool HasManageFeaturesPermission;
protected string ManageConnectionStringsPolicyName;
protected string ManageFeaturesPolicyName;
protected FeatureManagementModal FeatureManagementModal;
protected Modal ManageConnectionStringModal;
protected TenantInfoModel TenantInfo;
public TenantManagementBase()
{
ObjectMapperContext = typeof(AbpTenantManagementBlazorModule);
@ -29,37 +30,34 @@ 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();
}
protected override async Task SetPermissionsAsync()
{
await base.SetPermissionsAsync();
HasManageConnectionStringsPermission = await AuthorizationService.IsGrantedAsync(TenantManagementPermissions.Tenants.ManageConnectionStrings);
HasManageFeaturesPermission = await AuthorizationService.IsGrantedAsync(TenantManagementPermissions.Tenants.ManageFeatures);
ShouldShowEntityActions = HasUpdatePermission ||
HasDeletePermission ||
HasManageConnectionStringsPermission ||
HasManageFeaturesPermission;
HasManageConnectionStringsPermission = await AuthorizationService.IsGrantedAsync(ManageConnectionStringsPolicyName);
HasManageFeaturesPermission = await AuthorizationService.IsGrantedAsync(ManageFeaturesPolicyName);
}
protected virtual async Task OpenEditConnectionStringModalAsync(Guid id)
{
var tenantConnectionString = await AppService.GetDefaultConnectionStringAsync(id);
TenantInfo = new TenantInfoModel
{
Id = id,
DefaultConnectionString = tenantConnectionString,
UseSharedDatabase = tenantConnectionString.IsNullOrWhiteSpace()
};
ManageConnectionStringModal.Show();
}
protected virtual Task CloseEditConnectionStringModal()
{
ManageConnectionStringModal.Hide();
@ -68,7 +66,7 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
protected virtual async Task UpdateConnectionStringAsync()
{
await CheckPolicyAsync(TenantManagementPermissions.Tenants.ManageConnectionStrings);
await CheckPolicyAsync(ManageConnectionStringsPolicyName);
if (TenantInfo.UseSharedDatabase || TenantInfo.DefaultConnectionString.IsNullOrWhiteSpace())
{
@ -78,9 +76,14 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
{
await AppService.UpdateDefaultConnectionStringAsync(TenantInfo.Id, TenantInfo.DefaultConnectionString);
}
ManageConnectionStringModal.Hide();
}
protected override string GetDeleteConfirmationMessage(TenantDto entity)
{
return string.Format(L["TenantDeletionConfirmationMessage"], entity.Name);
}
}
public class TenantInfoModel
@ -88,7 +91,7 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement
public Guid Id { get; set; }
public bool UseSharedDatabase { get; set; }
public string DefaultConnectionString { get; set; }
}
}

1
modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/_Imports.razor

@ -2,5 +2,6 @@
@using Volo.Abp.AspNetCore.Components.WebAssembly
@using Microsoft.AspNetCore.Components.Forms
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.BlazoriseUI.Components
@using Blazorise
@using Blazorise.DataGrid

Loading…
Cancel
Save