mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-14 01:02:57 -07:00
More work on the user management
This commit is contained in:
parent
d44612217a
commit
15fae26397
8 changed files with 75 additions and 21 deletions
|
@ -95,7 +95,7 @@ namespace PlexRequests.UI.Helpers
|
|||
return helper.Raw(sb.ToString());
|
||||
}
|
||||
|
||||
public static IHtmlString LoadLogsAssets(this HtmlHelpers helper)
|
||||
public static IHtmlString LoadTableAssets(this HtmlHelpers helper)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var assetLocation = GetBaseUrl();
|
||||
|
|
20
PlexRequests.UI/Models/UserManagementUsersViewModel.cs
Normal file
20
PlexRequests.UI/Models/UserManagementUsersViewModel.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
|
||||
namespace PlexRequests.UI
|
||||
{
|
||||
public class UserManagementUsersViewModel
|
||||
{
|
||||
public string Username{get;set;}
|
||||
public string Claims{get;set;}
|
||||
public int Id {get;set;}
|
||||
public string Alias {get;set;}
|
||||
public UserType Type { get; set;}
|
||||
}
|
||||
|
||||
public enum UserType
|
||||
{
|
||||
PlexUser,
|
||||
LocalUser
|
||||
}
|
||||
}
|
||||
|
|
@ -50,7 +50,7 @@ namespace PlexRequests.UI.Modules
|
|||
ISettingsService<SonarrSettings> sonarrSettings, ISickRageApi srApi, ISettingsService<SickRageSettings> srSettings,
|
||||
ISettingsService<HeadphonesSettings> hpSettings, IHeadphonesApi hpApi) : base("approval")
|
||||
{
|
||||
this.RequiresAuthentication();
|
||||
this.RequiresClaims(UserClaims.Admin, UserClaims.PowerUser);
|
||||
|
||||
Service = service;
|
||||
CpService = cpService;
|
||||
|
@ -88,10 +88,7 @@ namespace PlexRequests.UI.Modules
|
|||
private Response Approve(int requestId, string qualityId)
|
||||
{
|
||||
Log.Info("approving request {0}", requestId);
|
||||
if (!Context.CurrentUser.IsAuthenticated())
|
||||
{
|
||||
return Response.AsJson(new JsonResponseModel { Result = false, Message = "You are not an Admin, so you cannot approve any requests." });
|
||||
}
|
||||
|
||||
// Get the request from the DB
|
||||
var request = Service.Get(requestId);
|
||||
|
||||
|
@ -258,10 +255,6 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private Response ApproveAllMovies()
|
||||
{
|
||||
if (!Context.CurrentUser.IsAuthenticated())
|
||||
{
|
||||
return Response.AsJson(new JsonResponseModel { Result = false, Message = "You are not an Admin, so you cannot approve any requests." });
|
||||
}
|
||||
|
||||
var requests = Service.GetAll().Where(x => x.CanApprove && x.Type == RequestType.Movie);
|
||||
var requestedModels = requests as RequestedModel[] ?? requests.ToArray();
|
||||
|
@ -312,11 +305,6 @@ namespace PlexRequests.UI.Modules
|
|||
/// <returns></returns>
|
||||
private Response ApproveAll()
|
||||
{
|
||||
if (!Context.CurrentUser.IsAuthenticated())
|
||||
{
|
||||
return Response.AsJson(new JsonResponseModel { Result = false, Message = "You are not an Admin, so you cannot approve any requests." });
|
||||
}
|
||||
|
||||
var requests = Service.GetAll().Where(x => x.CanApprove);
|
||||
var requestedModels = requests as RequestedModel[] ?? requests.ToArray();
|
||||
if (!requestedModels.Any())
|
||||
|
|
|
@ -500,7 +500,7 @@ namespace PlexRequests.UI.Modules
|
|||
RequestService.AddRequest(model);
|
||||
|
||||
|
||||
if (ShouldSendNotification) {
|
||||
if (ShouldSendNotification()) {
|
||||
var notificationModel = new NotificationModel {
|
||||
Title = model.Title,
|
||||
User = Username,
|
||||
|
@ -525,7 +525,7 @@ namespace PlexRequests.UI.Modules
|
|||
Log.Info("Adding movie to database (No approval required)");
|
||||
RequestService.AddRequest(model);
|
||||
|
||||
if (ShouldSendNotification) {
|
||||
if (ShouldSendNotification()) {
|
||||
var notificationModel = new NotificationModel {
|
||||
Title = model.Title,
|
||||
User = Username,
|
||||
|
@ -660,7 +660,7 @@ namespace PlexRequests.UI.Modules
|
|||
Log.Debug("Adding tv to database requests (No approval required & Sonarr)");
|
||||
RequestService.AddRequest(model);
|
||||
|
||||
if (ShouldSendNotification) {
|
||||
if (ShouldSendNotification()) {
|
||||
var notify1 = new NotificationModel {
|
||||
Title = model.Title,
|
||||
User = Username,
|
||||
|
@ -686,7 +686,7 @@ namespace PlexRequests.UI.Modules
|
|||
model.Approved = true;
|
||||
Log.Debug("Adding tv to database requests (No approval required & SickRage)");
|
||||
RequestService.AddRequest(model);
|
||||
if (ShouldSendNotification) {
|
||||
if (ShouldSendNotification()) {
|
||||
var notify2 = new NotificationModel {
|
||||
Title = model.Title,
|
||||
User = Username,
|
||||
|
|
|
@ -10,6 +10,7 @@ using PlexRequests.Core;
|
|||
using PlexRequests.UI.Models;
|
||||
using PlexRequests.UI.Modules;
|
||||
using PlexRequests.Helpers;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace PlexRequests.UI
|
||||
|
@ -32,6 +33,16 @@ namespace PlexRequests.UI
|
|||
public Response LoadUsers()
|
||||
{
|
||||
var users = UserMapper.GetUsers ();
|
||||
var model = new List<UserManagementUsersViewModel>();
|
||||
foreach (var user in users) {
|
||||
model.Add (new UserManagementUsersViewModel {
|
||||
//Claims = ByteConverterHelper.ReturnObject<string[]>(user.Claims),
|
||||
Claims = "test",
|
||||
Id = user.Id,
|
||||
Username = user.UserName,
|
||||
//Type = UserType.LocalUser
|
||||
});
|
||||
}
|
||||
return Response.AsJson (users);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -201,6 +201,7 @@
|
|||
</Content>
|
||||
<Compile Include="Modules\ApiModule.cs" />
|
||||
<Compile Include="Models\ApiModel.cs" />
|
||||
<Compile Include="Models\UserManagementUsersViewModel.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\bootstrap.min.js">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@using PlexRequests.UI.Helpers
|
||||
@Html.Partial("_Sidebar")
|
||||
@Html.LoadLogsAssets()
|
||||
@Html.LoadTableAssets()
|
||||
|
||||
@{
|
||||
var baseUrl = Html.GetBaseUrl();
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@using PlexRequests.UI.Helpers
|
||||
@Html.LoadTableAssets()
|
||||
@{
|
||||
var baseUrl = Html.GetBaseUrl().ToHtmlString();
|
||||
var url = string.Empty;
|
||||
|
@ -12,3 +13,36 @@
|
|||
<h2>User Management</h2>
|
||||
|
||||
<button class="btn btn-success-outline" type="submit">Create User <div class="fa fa-plus"/></button>
|
||||
<br>
|
||||
<br>
|
||||
<fieldset>
|
||||
<table id="example" class="table table-striped table-hover table-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>Username</th>
|
||||
<th>Permissions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<script>
|
||||
|
||||
var baseUrl = '@Html.GetBaseUrl()';
|
||||
|
||||
var url = createBaseUrl(baseUrl, "usermanagement/users");
|
||||
$('#example').DataTable({
|
||||
"ajax": url,
|
||||
"columns": [
|
||||
{ "data": "id" },
|
||||
{ "data": "username" },
|
||||
{ "data": "claims" },
|
||||
//{ "data": "type" }
|
||||
],
|
||||
"order": [[1, "desc"]]
|
||||
});
|
||||
|
||||
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue