|
|
@ -7,51 +7,41 @@ |
|
|
@using Volo.Abp.AspNetCore.Components.Web.Theming.Layout |
|
|
@using Volo.Abp.AspNetCore.Components.Web.Theming.Layout |
|
|
@inject AbpBlazorMessageLocalizerHelper<IdentityResource> LH |
|
|
@inject AbpBlazorMessageLocalizerHelper<IdentityResource> LH |
|
|
|
|
|
|
|
|
@inherits AbpCrudPageBase<IIdentityUserAppService, IdentityUserDto, Guid, GetIdentityUsersInput, IdentityUserCreateDto, IdentityUserUpdateDto> |
|
|
@inherits AbpCrudPageBase<IIdentityUserAppService, IdentityUserDto, Guid, GetIdentityUsersInput, IdentityUserCreateDto, |
|
|
|
|
|
IdentityUserUpdateDto> |
|
|
|
|
|
|
|
|
<Card> |
|
|
<Card> |
|
|
<CardHeader> |
|
|
<CardHeader> |
|
|
@* ************************* PAGE HEADER ************************* *@ |
|
|
@* ************************* PAGE HEADER ************************* *@ |
|
|
<PageHeader Title="@L["Users"]" |
|
|
<PageHeader Title="@L["Users"]" BreadcrumbItems="@BreadcrumbItems" Toolbar="@Toolbar"> |
|
|
BreadcrumbItems="@BreadcrumbItems" |
|
|
|
|
|
Toolbar="@Toolbar"> |
|
|
|
|
|
</PageHeader> |
|
|
</PageHeader> |
|
|
</CardHeader> |
|
|
</CardHeader> |
|
|
<CardBody> |
|
|
<CardBody> |
|
|
<Field Horizontal> |
|
|
<Row> |
|
|
<FieldBody ColumnSize="ColumnSize.Is2.Is10.WithOffset"> |
|
|
<Column ColumnSize="ColumnSize.Is3"> |
|
|
<Addons> |
|
|
<Field> |
|
|
<Addon AddonType="AddonType.Start"> |
|
|
<FieldLabel>@L["Search"]</FieldLabel> |
|
|
<Label>@L["Search"]</Label> |
|
|
<TextEdit Size="Size.Small" Text="@GetListInput.Filter" TextChanged="@OnSearchTextChanged" /> |
|
|
</Addon> |
|
|
</Field> |
|
|
<Addon AddonType="AddonType.Body"> |
|
|
</Column> |
|
|
<TextEdit Style="margin-left: 0.5rem" Size="Size.Small" Text="@GetListInput.Filter" TextChanged="@OnSearchTextChanged"/> |
|
|
</Row> |
|
|
</Addon> |
|
|
|
|
|
</Addons> |
|
|
|
|
|
</FieldBody> |
|
|
|
|
|
</Field> |
|
|
|
|
|
@* ************************* DATA GRID ************************* *@ |
|
|
@* ************************* DATA GRID ************************* *@ |
|
|
<AbpExtensibleDataGrid TItem="IdentityUserDto" |
|
|
<AbpExtensibleDataGrid TItem="IdentityUserDto" Data="Entities" ReadData="OnDataGridReadAsync" |
|
|
Data="Entities" |
|
|
TotalItems="TotalCount" ShowPager="true" PageSize="PageSize" CurrentPage="@CurrentPage" |
|
|
ReadData="OnDataGridReadAsync" |
|
|
Columns="@UserManagementTableColumns"> |
|
|
TotalItems="TotalCount" |
|
|
|
|
|
ShowPager="true" |
|
|
|
|
|
PageSize="PageSize" |
|
|
|
|
|
CurrentPage="@CurrentPage" |
|
|
|
|
|
Columns="@UserManagementTableColumns"> |
|
|
|
|
|
</AbpExtensibleDataGrid> |
|
|
</AbpExtensibleDataGrid> |
|
|
</CardBody> |
|
|
</CardBody> |
|
|
</Card> |
|
|
</Card> |
|
|
|
|
|
|
|
|
@* ************************* CREATE MODAL ************************* *@ |
|
|
@* ************************* CREATE MODAL ************************* *@ |
|
|
@if ( HasCreatePermission ) |
|
|
@if (HasCreatePermission) |
|
|
{ |
|
|
{ |
|
|
<Modal @ref="CreateModal" Closing="@ClosingCreateModal"> |
|
|
<Modal @ref="CreateModal" Closing="@ClosingCreateModal"> |
|
|
<ModalContent Centered="true"> |
|
|
<ModalContent Centered="true"> |
|
|
<Form> |
|
|
<Form> |
|
|
<ModalHeader> |
|
|
<ModalHeader> |
|
|
<ModalTitle>@L["NewUser"]</ModalTitle> |
|
|
<ModalTitle>@L["NewUser"]</ModalTitle> |
|
|
<CloseButton Clicked="CloseCreateModalAsync"/> |
|
|
<CloseButton Clicked="CloseCreateModalAsync" /> |
|
|
</ModalHeader> |
|
|
</ModalHeader> |
|
|
<ModalBody> |
|
|
<ModalBody> |
|
|
<Validations @ref="@CreateValidationsRef" Model="@NewEntity" ValidateOnLoad="false"> |
|
|
<Validations @ref="@CreateValidationsRef" Model="@NewEntity" ValidateOnLoad="false"> |
|
|
@ -67,7 +57,7 @@ |
|
|
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel> |
|
|
<TextEdit @bind-Text="NewEntity.UserName" Autofocus="true"> |
|
|
<TextEdit @bind-Text="NewEntity.UserName" Autofocus="true"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -77,7 +67,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Name"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Name"]</FieldLabel> |
|
|
<TextEdit @bind-Text="NewEntity.Name"> |
|
|
<TextEdit @bind-Text="NewEntity.Name"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -87,7 +77,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Surname"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Surname"]</FieldLabel> |
|
|
<TextEdit @bind-Text="NewEntity.Surname"> |
|
|
<TextEdit @bind-Text="NewEntity.Surname"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -101,10 +91,13 @@ |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Addon> |
|
|
</Addon> |
|
|
<Addon AddonType="AddonType.End"> |
|
|
<Addon AddonType="AddonType.End"> |
|
|
<Button Color="Color.Secondary" Clicked="@(() => ChangePasswordTextRole(null))"><Icon Name="IconName.EyeSlash"/></Button> |
|
|
<Button Color="Color.Secondary" |
|
|
|
|
|
Clicked="@(() => ChangePasswordTextRole(null))"> |
|
|
|
|
|
<Icon Name="IconName.EyeSlash" /> |
|
|
|
|
|
</Button> |
|
|
</Addon> |
|
|
</Addon> |
|
|
</Addons> |
|
|
</Addons> |
|
|
<ValidationError Style="display: block"/> |
|
|
<ValidationError Style="display: block" /> |
|
|
</Field> |
|
|
</Field> |
|
|
</Validation> |
|
|
</Validation> |
|
|
<Validation MessageLocalizer="@LH.Localize"> |
|
|
<Validation MessageLocalizer="@LH.Localize"> |
|
|
@ -112,7 +105,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Email"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Email"]</FieldLabel> |
|
|
<TextEdit @bind-Text="NewEntity.Email"> |
|
|
<TextEdit @bind-Text="NewEntity.Email"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -122,26 +115,29 @@ |
|
|
<FieldLabel>@L["DisplayName:PhoneNumber"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:PhoneNumber"]</FieldLabel> |
|
|
<TextEdit @bind-Text="NewEntity.PhoneNumber"> |
|
|
<TextEdit @bind-Text="NewEntity.PhoneNumber"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
</Validation> |
|
|
</Validation> |
|
|
<Field> |
|
|
<Field> |
|
|
<Check TValue="bool" @bind-Checked="@NewEntity.IsActive">@L["DisplayName:IsActive"]</Check> |
|
|
<Check TValue="bool" @bind-Checked="@NewEntity.IsActive">@L["DisplayName:IsActive"] |
|
|
|
|
|
</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
<Field> |
|
|
<Field> |
|
|
<Check TValue="bool" @bind-Checked="@NewEntity.LockoutEnabled">@L["DisplayName:LockoutEnabled"]</Check> |
|
|
<Check TValue="bool" @bind-Checked="@NewEntity.LockoutEnabled"> |
|
|
|
|
|
@L["DisplayName:LockoutEnabled"]</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
<ExtensionProperties TEntityType="IdentityUserCreateDto" TResourceType="IdentityResource" Entity="@NewEntity" LH="@LH"/> |
|
|
<ExtensionProperties TEntityType="IdentityUserCreateDto" |
|
|
|
|
|
TResourceType="IdentityResource" Entity="@NewEntity" LH="@LH" /> |
|
|
</TabPanel> |
|
|
</TabPanel> |
|
|
<TabPanel Name="Roles"> |
|
|
<TabPanel Name="Roles"> |
|
|
@if ( NewUserRoles != null ) |
|
|
@if (NewUserRoles != null) |
|
|
{ |
|
|
{ |
|
|
@foreach ( var role in NewUserRoles ) |
|
|
@foreach (var role in NewUserRoles) |
|
|
{ |
|
|
{ |
|
|
<Field> |
|
|
<Field> |
|
|
<input type="hidden" @bind-value="@role.Name"/> |
|
|
<input type="hidden" @bind-value="@role.Name" /> |
|
|
<Check TValue="bool" @bind-Checked="@role.IsAssigned">@role.Name</Check> |
|
|
<Check TValue="bool" @bind-Checked="@role.IsAssigned">@role.Name</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
} |
|
|
} |
|
|
@ -153,7 +149,7 @@ |
|
|
</ModalBody> |
|
|
</ModalBody> |
|
|
<ModalFooter> |
|
|
<ModalFooter> |
|
|
<Button Color="Color.Secondary" Clicked="CloseCreateModalAsync">@L["Cancel"]</Button> |
|
|
<Button Color="Color.Secondary" Clicked="CloseCreateModalAsync">@L["Cancel"]</Button> |
|
|
<SubmitButton Clicked="@CreateEntityAsync"/> |
|
|
<SubmitButton Clicked="@CreateEntityAsync" /> |
|
|
</ModalFooter> |
|
|
</ModalFooter> |
|
|
</Form> |
|
|
</Form> |
|
|
</ModalContent> |
|
|
</ModalContent> |
|
|
@ -161,18 +157,18 @@ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@* ************************* EDIT MODAL ************************* *@ |
|
|
@* ************************* EDIT MODAL ************************* *@ |
|
|
@if ( HasUpdatePermission ) |
|
|
@if (HasUpdatePermission) |
|
|
{ |
|
|
{ |
|
|
<Modal @ref="EditModal" Closing="@ClosingEditModal"> |
|
|
<Modal @ref="EditModal" Closing="@ClosingEditModal"> |
|
|
<ModalContent Centered="true"> |
|
|
<ModalContent Centered="true"> |
|
|
<Form> |
|
|
<Form> |
|
|
<ModalHeader> |
|
|
<ModalHeader> |
|
|
<ModalTitle>@L["Edit"]</ModalTitle> |
|
|
<ModalTitle>@L["Edit"]</ModalTitle> |
|
|
<CloseButton Clicked="CloseEditModalAsync"/> |
|
|
<CloseButton Clicked="CloseEditModalAsync" /> |
|
|
</ModalHeader> |
|
|
</ModalHeader> |
|
|
<ModalBody> |
|
|
<ModalBody> |
|
|
<Validations @ref="@EditValidationsRef" Model="@EditingEntity" ValidateOnLoad="false"> |
|
|
<Validations @ref="@EditValidationsRef" Model="@EditingEntity" ValidateOnLoad="false"> |
|
|
<input type="hidden" name="ConcurrencyStamp" @bind-value="EditingEntity.ConcurrencyStamp"/> |
|
|
<input type="hidden" name="ConcurrencyStamp" @bind-value="EditingEntity.ConcurrencyStamp" /> |
|
|
|
|
|
|
|
|
<Tabs @bind-SelectedTab="@EditModalSelectedTab"> |
|
|
<Tabs @bind-SelectedTab="@EditModalSelectedTab"> |
|
|
<Items> |
|
|
<Items> |
|
|
@ -186,7 +182,7 @@ |
|
|
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel> |
|
|
<TextEdit @bind-Text="EditingEntity.UserName" Autofocus="true"> |
|
|
<TextEdit @bind-Text="EditingEntity.UserName" Autofocus="true"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -196,7 +192,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Name"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Name"]</FieldLabel> |
|
|
<TextEdit @bind-Text="EditingEntity.Name"> |
|
|
<TextEdit @bind-Text="EditingEntity.Name"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -206,7 +202,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Surname"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Surname"]</FieldLabel> |
|
|
<TextEdit @bind-Text="EditingEntity.Surname"> |
|
|
<TextEdit @bind-Text="EditingEntity.Surname"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -220,10 +216,13 @@ |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Addon> |
|
|
</Addon> |
|
|
<Addon AddonType="AddonType.End"> |
|
|
<Addon AddonType="AddonType.End"> |
|
|
<Button Color="Color.Secondary" Clicked="@(() => ChangePasswordTextRole(null))"><Icon Name="IconName.EyeSlash"/></Button> |
|
|
<Button Color="Color.Secondary" |
|
|
|
|
|
Clicked="@(() => ChangePasswordTextRole(null))"> |
|
|
|
|
|
<Icon Name="IconName.EyeSlash" /> |
|
|
|
|
|
</Button> |
|
|
</Addon> |
|
|
</Addon> |
|
|
</Addons> |
|
|
</Addons> |
|
|
<ValidationError Style="display: block"/> |
|
|
<ValidationError Style="display: block" /> |
|
|
</Field> |
|
|
</Field> |
|
|
</Validation> |
|
|
</Validation> |
|
|
<Validation MessageLocalizer="@LH.Localize"> |
|
|
<Validation MessageLocalizer="@LH.Localize"> |
|
|
@ -231,7 +230,7 @@ |
|
|
<FieldLabel>@L["DisplayName:Email"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:Email"]</FieldLabel> |
|
|
<TextEdit @bind-Text="EditingEntity.Email"> |
|
|
<TextEdit @bind-Text="EditingEntity.Email"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
@ -241,26 +240,29 @@ |
|
|
<FieldLabel>@L["DisplayName:PhoneNumber"]</FieldLabel> |
|
|
<FieldLabel>@L["DisplayName:PhoneNumber"]</FieldLabel> |
|
|
<TextEdit @bind-Text="EditingEntity.PhoneNumber"> |
|
|
<TextEdit @bind-Text="EditingEntity.PhoneNumber"> |
|
|
<Feedback> |
|
|
<Feedback> |
|
|
<ValidationError/> |
|
|
<ValidationError /> |
|
|
</Feedback> |
|
|
</Feedback> |
|
|
</TextEdit> |
|
|
</TextEdit> |
|
|
</Field> |
|
|
</Field> |
|
|
</Validation> |
|
|
</Validation> |
|
|
<Field> |
|
|
<Field> |
|
|
<Check TValue="bool" @bind-Checked="EditingEntity.IsActive">@L["DisplayName:IsActive"]</Check> |
|
|
<Check TValue="bool" @bind-Checked="EditingEntity.IsActive"> |
|
|
|
|
|
@L["DisplayName:IsActive"]</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
<Field> |
|
|
<Field> |
|
|
<Check TValue="bool" @bind-Checked="EditingEntity.LockoutEnabled">@L["DisplayName:LockoutEnabled"]</Check> |
|
|
<Check TValue="bool" @bind-Checked="EditingEntity.LockoutEnabled"> |
|
|
|
|
|
@L["DisplayName:LockoutEnabled"]</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
<ExtensionProperties TEntityType="IdentityUserUpdateDto" TResourceType="IdentityResource" Entity="@EditingEntity" LH="@LH"/> |
|
|
<ExtensionProperties TEntityType="IdentityUserUpdateDto" |
|
|
|
|
|
TResourceType="IdentityResource" Entity="@EditingEntity" LH="@LH" /> |
|
|
</TabPanel> |
|
|
</TabPanel> |
|
|
<TabPanel Name="Roles"> |
|
|
<TabPanel Name="Roles"> |
|
|
@if ( EditUserRoles != null ) |
|
|
@if (EditUserRoles != null) |
|
|
{ |
|
|
{ |
|
|
@foreach ( var role in EditUserRoles ) |
|
|
@foreach (var role in EditUserRoles) |
|
|
{ |
|
|
{ |
|
|
<Field> |
|
|
<Field> |
|
|
<input type="hidden" @bind-value="@role.Name"/> |
|
|
<input type="hidden" @bind-value="@role.Name" /> |
|
|
<Check TValue="bool" @bind-Checked="@role.IsAssigned">@role.Name</Check> |
|
|
<Check TValue="bool" @bind-Checked="@role.IsAssigned">@role.Name</Check> |
|
|
</Field> |
|
|
</Field> |
|
|
} |
|
|
} |
|
|
@ -272,14 +274,14 @@ |
|
|
</ModalBody> |
|
|
</ModalBody> |
|
|
<ModalFooter> |
|
|
<ModalFooter> |
|
|
<Button Color="Color.Secondary" Clicked="CloseEditModalAsync">@L["Cancel"]</Button> |
|
|
<Button Color="Color.Secondary" Clicked="CloseEditModalAsync">@L["Cancel"]</Button> |
|
|
<SubmitButton Clicked="@UpdateEntityAsync"/> |
|
|
<SubmitButton Clicked="@UpdateEntityAsync" /> |
|
|
</ModalFooter> |
|
|
</ModalFooter> |
|
|
</Form> |
|
|
</Form> |
|
|
</ModalContent> |
|
|
</ModalContent> |
|
|
</Modal> |
|
|
</Modal> |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@if ( HasManagePermissionsPermission ) |
|
|
@if (HasManagePermissionsPermission) |
|
|
{ |
|
|
{ |
|
|
<PermissionManagementModal @ref="PermissionManagementModal"/> |
|
|
<PermissionManagementModal @ref="PermissionManagementModal" /> |
|
|
} |
|
|
} |
|
|
|