Merge pull request #33 from oqtane/master

sync
This commit is contained in:
Shaun Walker 2020-06-03 19:47:04 -04:00 committed by GitHub
commit 4ebdf5721c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 10 deletions

View File

@ -2,17 +2,20 @@
@inherits ModuleBase @inherits ModuleBase
@inject IUserRoleService UserRoleService @inject IUserRoleService UserRoleService
@inject IUserService UserService @inject IUserService UserService
@inject ISettingService SettingService
@if (userroles == null) @if (userroles == null)
{ {
<p><em>Loading...</em></p> <p>
<em>Loading...</em>
</p>
} }
else else
{ {
<ActionLink Action="Add" Text="Add User"/> <ActionLink Action="Add" Text="Add User"/>
<div class="d-flex p-1"> <div class="d-flex p-1">
<input class="form-control mr-4" @bind="@search"/><button class="btn btn-outline-primary ml-1" @onclick="OnSearch">Search</button> <input class="form-control mr-4" @bind="@_search"/><button class="btn btn-outline-primary ml-1" @onclick="OnSearch">Search</button>
</div> </div>
<Pager Items="@userroles"> <Pager Items="@userroles">
@ -23,9 +26,15 @@ else
<th>Name</th> <th>Name</th>
</Header> </Header>
<Row> <Row>
<td><ActionLink Action="Edit" Parameters="@($"id=" + context.UserId.ToString())" /></td> <td>
<td><ActionDialog Header="Delete User" Message="@("Are You Sure You Wish To Delete " + context.User.DisplayName + "?")" Action="Delete" Security="SecurityAccessLevel.Admin" Class="btn btn-danger" OnClick="@(async () => await DeleteUser(context))" /></td> <ActionLink Action="Edit" Parameters="@($"id=" + context.UserId.ToString())"/>
<td><ActionLink Action="Roles" Parameters="@($"id=" + context.UserId.ToString())" /></td> </td>
<td>
<ActionDialog Header="Delete User" Message="@("Are You Sure You Wish To Delete " + context.User.DisplayName + "?")" Action="Delete" Security="SecurityAccessLevel.Admin" Class="btn btn-danger" OnClick="@(async () => await DeleteUser(context))"/>
</td>
<td>
<ActionLink Action="Roles" Parameters="@($"id=" + context.UserId.ToString())"/>
</td>
<td>@context.User.DisplayName</td> <td>@context.User.DisplayName</td>
</Row> </Row>
</Pager> </Pager>
@ -34,19 +43,24 @@ else
@code { @code {
private List<UserRole> allroles; private List<UserRole> allroles;
private List<UserRole> userroles; private List<UserRole> userroles;
private string search; private string _search;
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
allroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId); allroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId);
userroles = allroles.Where(item => item.Role.Name == Constants.RegisteredRole).ToList(); await LoadSettingsAsync();
userroles = Search(_search);
} }
private void OnSearch() private List<UserRole> Search(string search)
{ {
userroles = allroles if (string.IsNullOrEmpty(_search))
{
return allroles.Where(item => item.Role.Name == Constants.RegisteredRole).ToList();
}
return allroles
.Where(item => item.Role.Name == Constants.RegisteredRole && .Where(item => item.Role.Name == Constants.RegisteredRole &&
( (
item.User.Username.Contains(search, StringComparison.OrdinalIgnoreCase) || item.User.Username.Contains(search, StringComparison.OrdinalIgnoreCase) ||
@ -57,6 +71,11 @@ else
.ToList(); .ToList();
} }
private async Task OnSearch()
{
userroles = Search(_search);
await UpdateSettingsAsync();
}
private async Task DeleteUser(UserRole UserRole) private async Task DeleteUser(UserRole UserRole)
{ {
@ -76,4 +95,20 @@ else
AddModuleMessage(ex.Message, MessageType.Error); AddModuleMessage(ex.Message, MessageType.Error);
} }
} }
private string settingSearch = "AU-search";
private async Task LoadSettingsAsync()
{
Dictionary<string, string> settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId);
_search = SettingService.GetSetting(settings, settingSearch, "");
}
private async Task UpdateSettingsAsync()
{
Dictionary<string, string> settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId);
SettingService.SetSetting(settings, settingSearch, _search);
await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId);
}
} }

View File

@ -222,6 +222,8 @@ namespace Oqtane
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts(); app.UseHsts();
} }
// to allow install middleware it should be moved up
app.ConfigureOqtaneAssemblies(env);
app.UseHttpsRedirection(); app.UseHttpsRedirection();
app.UseStaticFiles(); app.UseStaticFiles();
app.UseBlazorFrameworkFiles(); app.UseBlazorFrameworkFiles();
@ -240,7 +242,7 @@ namespace Oqtane
endpoints.MapControllers(); endpoints.MapControllers();
endpoints.MapFallbackToPage("/_Host"); endpoints.MapFallbackToPage("/_Host");
}); });
app.ConfigureOqtaneAssemblies(env);
} }
} }
} }