diff --git a/src/Ombi.Core/Models/UI/UserViewModel.cs b/src/Ombi.Core/Models/UI/UserViewModel.cs index 1c1e6162b..62b296009 100644 --- a/src/Ombi.Core/Models/UI/UserViewModel.cs +++ b/src/Ombi.Core/Models/UI/UserViewModel.cs @@ -16,6 +16,7 @@ namespace Ombi.Core.Models.UI public UserType UserType { get; set; } public int MovieRequestLimit { get; set; } public int EpisodeRequestLimit { get; set; } + public int MusicRequestLimit { get; set; } } public class ClaimCheckboxes diff --git a/src/Ombi/ClientApp/app/interfaces/IUser.ts b/src/Ombi/ClientApp/app/interfaces/IUser.ts index 04546abf9..6cd1bc1d7 100644 --- a/src/Ombi/ClientApp/app/interfaces/IUser.ts +++ b/src/Ombi/ClientApp/app/interfaces/IUser.ts @@ -12,6 +12,7 @@ export interface IUser { hasLoggedIn: boolean; movieRequestLimit: number; episodeRequestLimit: number; + musicRequestLimit: number; userAccessToken: string; // FOR UI checked: boolean; diff --git a/src/Ombi/ClientApp/app/usermanagement/usermanagement-user.component.html b/src/Ombi/ClientApp/app/usermanagement/usermanagement-user.component.html index da1b4076e..f7bf702a0 100644 --- a/src/Ombi/ClientApp/app/usermanagement/usermanagement-user.component.html +++ b/src/Ombi/ClientApp/app/usermanagement/usermanagement-user.component.html @@ -102,12 +102,19 @@
- -
- + +
+ +
-
+
+ +
+ +
+
diff --git a/src/Ombi/Controllers/IdentityController.cs b/src/Ombi/Controllers/IdentityController.cs index 9e89a9506..2acc1637f 100644 --- a/src/Ombi/Controllers/IdentityController.cs +++ b/src/Ombi/Controllers/IdentityController.cs @@ -61,7 +61,8 @@ namespace Ombi.Controllers IRepository notificationRepository, IRepository subscriptionRepository, ISettingsService umSettings, - IRepository notificationPreferences) + IRepository notificationPreferences, + IMusicRequestRepository musicRepo) { UserManager = user; Mapper = mapper; @@ -71,6 +72,7 @@ namespace Ombi.Controllers CustomizationSettings = c; WelcomeEmail = welcome; MovieRepo = m; + MusicRepo = musicRepo; TvRepo = t; _log = l; _plexApi = plexApi; @@ -96,6 +98,7 @@ namespace Ombi.Controllers private IWelcomeEmail WelcomeEmail { get; } private IMovieRequestRepository MovieRepo { get; } private ITvRequestRepository TvRepo { get; } + private IMusicRequestRepository MusicRepo { get; } private readonly ILogger _log; private readonly IPlexApi _plexApi; private readonly ISettingsService _plexSettings; @@ -295,7 +298,8 @@ namespace Ombi.Controllers LastLoggedIn = user.LastLoggedIn, HasLoggedIn = user.LastLoggedIn.HasValue, EpisodeRequestLimit = user.EpisodeRequestLimit ?? 0, - MovieRequestLimit = user.MovieRequestLimit ?? 0 + MovieRequestLimit = user.MovieRequestLimit ?? 0, + MusicRequestLimit = user.MusicRequestLimit ?? 0, }; foreach (var role in userRoles) @@ -347,6 +351,7 @@ namespace Ombi.Controllers UserType = UserType.LocalUser, MovieRequestLimit = user.MovieRequestLimit, EpisodeRequestLimit = user.EpisodeRequestLimit, + MusicRequestLimit = user.MusicRequestLimit, UserAccessToken = Guid.NewGuid().ToString("N"), }; var userResult = await UserManager.CreateAsync(ombiUser, user.Password); @@ -490,6 +495,7 @@ namespace Ombi.Controllers user.Email = ui.EmailAddress; user.MovieRequestLimit = ui.MovieRequestLimit; user.EpisodeRequestLimit = ui.EpisodeRequestLimit; + user.MusicRequestLimit = ui.MusicRequestLimit; var updateResult = await UserManager.UpdateAsync(user); if (!updateResult.Succeeded) { @@ -562,6 +568,7 @@ namespace Ombi.Controllers // We need to delete all the requests first var moviesUserRequested = MovieRepo.GetAll().Where(x => x.RequestedUserId == userId); var tvUserRequested = TvRepo.GetChild().Where(x => x.RequestedUserId == userId); + var musicRequested = MusicRepo.GetAll().Where(x => x.RequestedUserId == userId); if (moviesUserRequested.Any()) { @@ -572,6 +579,11 @@ namespace Ombi.Controllers await TvRepo.DeleteChildRange(tvUserRequested); } + if (musicRequested.Any()) + { + await MusicRepo.DeleteRange(musicRequested); + } + // Delete any issues and request logs var issues = _issuesRepository.GetAll().Where(x => x.UserReportedId == userId); var issueComments = _issueCommentsRepository.GetAll().Where(x => x.UserId == userId);