Added the music request limits

pull/2519/head
TidusJar 6 years ago
parent 2204559b0a
commit dbabb43537

@ -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

@ -12,6 +12,7 @@ export interface IUser {
hasLoggedIn: boolean;
movieRequestLimit: number;
episodeRequestLimit: number;
musicRequestLimit: number;
userAccessToken: string;
// FOR UI
checked: boolean;

@ -102,12 +102,19 @@
</div>
<div class="form-group">
<label for="episodeRequestLimit" class="control-label">Episode Request Limit</label>
<div>
<input type="text" [(ngModel)]="user.episodeRequestLimit" class="form-control form-small form-control-custom "
id="episodeRequestLimit" name="episodeRequestLimit" value="{{user?.episodeRequestLimit}}">
<label for="episodeRequestLimit" class="control-label">Episode Request Limit</label>
<div>
<input type="text" [(ngModel)]="user.episodeRequestLimit" class="form-control form-small form-control-custom "
id="episodeRequestLimit" name="episodeRequestLimit" value="{{user?.episodeRequestLimit}}">
</div>
</div>
</div>
<div class="form-group">
<label for="musicRequestLimit" class="control-label">Music Request Limit</label>
<div>
<input type="text" [(ngModel)]="user.musicRequestLimit" class="form-control form-small form-control-custom "
id="musicRequestLimit" name="musicRequestLimit" value="{{user?.musicRequestLimit}}">
</div>
</div>
</div>
</div>

@ -61,7 +61,8 @@ namespace Ombi.Controllers
IRepository<NotificationUserId> notificationRepository,
IRepository<RequestSubscription> subscriptionRepository,
ISettingsService<UserManagementSettings> umSettings,
IRepository<UserNotificationPreferences> notificationPreferences)
IRepository<UserNotificationPreferences> 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<IdentityController> _log;
private readonly IPlexApi _plexApi;
private readonly ISettingsService<PlexSettings> _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);

Loading…
Cancel
Save