This commit is contained in:
Jamie.Rees 2016-11-28 08:26:12 +00:00
commit 21f3131cb4
14 changed files with 58 additions and 167 deletions

View file

@ -106,31 +106,6 @@
});
$('#contentBody').on('click', '#SearchForMovies', function () {
var checked = this.checked;
changeDisabledStatus($('#RequireMovieApproval'), checked, $('#RequireMovieApprovalLabel'));
});
$('#contentBody').on('click', '#SearchForTvShows', function () {
var checked = this.checked;
changeDisabledStatus($('#RequireTvShowApproval'), checked, $('#RequireTvShowApprovalLabel'));
});
$('#contentBody').on('click', '#SearchForMusic', function () {
var checked = this.checked;
changeDisabledStatus($('#RequireMusicApproval'), checked, $('#RequireMusicApprovalLabel'));
});
function changeDisabledStatus($element, checked, $label) {
if (checked) {
$element.removeAttr("disabled");
$label.css("color","");
} else {
$element.attr("disabled","disabled");
$label.css("color", "grey");
}
}
function loadArea(templateId) {
var $body = $('#contentBody');

View file

@ -335,7 +335,7 @@ namespace PlexRequests.UI.Modules
myIssues = issuesModels.Where(x => x.IssueStatus != IssueStatus.ResolvedIssue);
}
}
else if (settings.UsersCanViewOnlyOwnIssues) // The user is not an Admin, do we have the settings to hide them?
else if (Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnIssues)) // The user is not an Admin, do we have the settings to hide them?
{
if (!showResolved)
{

View file

@ -129,7 +129,7 @@ namespace PlexRequests.UI.Modules
var dbMovies = allRequests.ToList();
if (settings.UsersCanViewOnlyOwnRequests && !IsAdmin)
if (Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests) && !IsAdmin)
{
dbMovies = dbMovies.Where(x => x.UserHasRequested(Username)).ToList();
}
@ -199,7 +199,7 @@ namespace PlexRequests.UI.Modules
var dbTv = requests;
var settings = await settingsTask;
if (settings.UsersCanViewOnlyOwnRequests && !IsAdmin)
if (Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests) && !IsAdmin)
{
dbTv = dbTv.Where(x => x.UserHasRequested(Username)).ToList();
}
@ -271,7 +271,7 @@ namespace PlexRequests.UI.Modules
var settings = PrSettings.GetSettings();
var dbAlbum = await Service.GetAllAsync();
dbAlbum = dbAlbum.Where(x => x.Type == RequestType.Album);
if (settings.UsersCanViewOnlyOwnRequests && !IsAdmin)
if (Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests) && !IsAdmin)
{
dbAlbum = dbAlbum.Where(x => x.UserHasRequested(Username));
}

View file

@ -278,7 +278,7 @@ namespace PlexRequests.UI.Modules
VoteAverage = movie.VoteAverage,
VoteCount = movie.VoteCount
};
var canSee = CanUserSeeThisRequest(viewMovie.Id, settings.UsersCanViewOnlyOwnRequests, dbMovies);
var canSee = CanUserSeeThisRequest(viewMovie.Id, Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests), dbMovies);
var plexMovie = Checker.GetMovie(plexMovies.ToArray(), movie.Title, movie.ReleaseDate?.Year.ToString(),
imdbId);
if (plexMovie != null)
@ -510,7 +510,7 @@ namespace PlexRequests.UI.Modules
{
Result = true,
Message =
settings.UsersCanViewOnlyOwnRequests
Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests)
? $"{fullMovieName} {Resources.UI.Search_SuccessfullyAdded}"
: $"{fullMovieName} {Resources.UI.Search_AlreadyRequested}"
});
@ -968,7 +968,7 @@ namespace PlexRequests.UI.Modules
{
existingRequest.RequestedUsers.Add(Username);
}
if (settings.UsersCanViewOnlyOwnRequests || episodeReq)
if (Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests) || episodeReq)
{
return
await
@ -1033,7 +1033,7 @@ namespace PlexRequests.UI.Modules
{
Result = true,
Message =
settings.UsersCanViewOnlyOwnRequests
Security.HasPermissions(User, Permissions.UsersCanViewOnlyOwnRequests)
? $"{existingRequest.Title} {Resources.UI.Search_SuccessfullyAdded}"
: $"{existingRequest.Title} {Resources.UI.Search_AlreadyRequested}"
});
@ -1374,14 +1374,11 @@ namespace PlexRequests.UI.Modules
switch (requestType)
{
case RequestType.Movie:
return Security.HasPermissions(User, Permissions.AutoApproveMovie) ||
!prSettings.RequireMovieApproval;
return Security.HasPermissions(User, Permissions.AutoApproveMovie);
case RequestType.TvShow:
return Security.HasPermissions(User, Permissions.AutoApproveTv) ||
!prSettings.RequireTvShowApproval;
return Security.HasPermissions(User, Permissions.AutoApproveTv);
case RequestType.Album:
return Security.HasPermissions(User, Permissions.AutoApproveAlbum) ||
!prSettings.RequireMusicApproval;
return Security.HasPermissions(User, Permissions.AutoApproveAlbum);
default:
return false;
}

View file

@ -158,10 +158,7 @@ namespace PlexRequests.UI.Modules
currentSettings.SearchForMovies = form.SearchForMovies;
currentSettings.SearchForTvShows = form.SearchForTvShows;
currentSettings.SearchForMusic = form.SearchForMusic;
currentSettings.RequireMovieApproval = form.RequireMovieApproval;
currentSettings.RequireTvShowApproval = form.RequireTvShowApproval;
currentSettings.RequireMusicApproval = form.RequireMusicApproval;
var result = await PlexRequestSettings.SaveSettingsAsync(currentSettings);
if (result)
{

View file

@ -50,18 +50,10 @@
<br />
<a href="~/usermanagement/" class="btn btn-info-outline">User Management</a>
<br />
<p class="form-group">Current users that are allowed to authenticate: </p>
<div class="form-group">
<select id="users" multiple="" class="form-control-custom" style="height: 180px;"></select>
</div>
<div class="form-group">
<div>
<button id="refreshUsers" class="btn btn-primary-outline">Refresh Users</button>
</div>
</div>
<br />
<p class="form-group">A comma separated list of users that you do not want to login.</p>
<div class="form-group">

View file

@ -112,81 +112,6 @@
</div>
</div>
<div class="form-group">
<div class="checkbox">
@if (Model.RequireMovieApproval)
{
<input type="checkbox" id="RequireMovieApproval" name="RequireMovieApproval" checked="checked"><label for="RequireMovieApproval">Require approval of Movie requests</label>
}
else
{
<input type="checkbox" id="RequireMovieApproval" name="RequireMovieApproval"><label for="RequireMovieApproval">Require approval of Movie requests</label>
}
</div>
</div>
<div class="form-group">
<div class="checkbox">
@if (Model.RequireTvShowApproval)
{
<input type="checkbox" id="RequireTvShowApproval" name="RequireTvShowApproval" checked="checked"><label for="RequireTvShowApproval">Require approval of TV show requests</label>
}
else
{
<input type="checkbox" id="RequireTvShowApproval" name="RequireTvShowApproval"><label for="RequireTvShowApproval">Require approval of TV show requests</label>
}
</div>
</div>
<div class="form-group">
<div class="checkbox">
@if (Model.RequireMusicApproval)
{
<input type="checkbox" id="RequireMusicApproval" name="RequireMusicApproval" checked="checked"><label for="RequireMusicApproval">Require approval of Music requests</label>
}
else
{
<input type="checkbox" id="RequireMusicApproval" name="RequireMusicApproval"><label for="RequireMusicApproval">Require approval of Music requests</label>
}
</div>
</div>
<div class="form-group">
<div class="checkbox">
@if (Model.UsersCanViewOnlyOwnRequests)
{
<input type="checkbox" id="UsersCanViewOnlyOwnRequests" name="UsersCanViewOnlyOwnRequests" checked="checked">
<label for="UsersCanViewOnlyOwnRequests">Users can view their own requests only</label>
}
else
{
<input type="checkbox" id="UsersCanViewOnlyOwnRequests" name="UsersCanViewOnlyOwnRequests"><label for="UsersCanViewOnlyOwnRequests">Users can view their own requests only</label>
}
</div>
</div>
<div class="form-group">
<div class="checkbox">
@if (Model.UsersCanViewOnlyOwnIssues)
{
<input type="checkbox" id="UsersCanViewOnlyOwnIssues" name="UsersCanViewOnlyOwnIssues" checked="checked">
<label for="UsersCanViewOnlyOwnIssues">Users can view their own issues only</label>
}
else
{
<input type="checkbox" id="UsersCanViewOnlyOwnIssues" name="UsersCanViewOnlyOwnIssues"><label for="UsersCanViewOnlyOwnIssues">Users can view their own issues only</label>
}
</div>
</div>
<div class="form-group">
<div class="checkbox">

View file

@ -11,19 +11,19 @@
<h3>Permissions</h3>
@Html.Checkbox(Model.RequestMovies, "RequestMovies", "Request Movies");
@Html.Checkbox(Model.RequestTvShows, "RequestTvShows", "Request TV Shows");
@Html.Checkbox(Model.RequestMusic, "RequestMusic", "Request Music");
@Html.Checkbox(Model.AutoApproveMovies, "AutoApproveMovies", "Auto Approve Movie Requests");
@Html.Checkbox(Model.AutoApproveTvShows, "AutoApproveTvShows", "Auto Approve TV Show Requests");
@Html.Checkbox(Model.AutoApproveMusic, "AutoApproveMusic", "Auto Approve Music Requests");
@Html.Checkbox(Model.ReportIssues, "ReportIssues", "Report Issues");
@Html.Checkbox(Model.RequestMovies, "RequestMovies", "Request Movies")
@Html.Checkbox(Model.RequestTvShows, "RequestTvShows", "Request TV Shows")
@Html.Checkbox(Model.RequestMusic, "RequestMusic", "Request Music")
@Html.Checkbox(Model.AutoApproveMovies, "AutoApproveMovies", "Auto Approve Movie Requests")
@Html.Checkbox(Model.AutoApproveTvShows, "AutoApproveTvShows", "Auto Approve TV Show Requests")
@Html.Checkbox(Model.AutoApproveMusic, "AutoApproveMusic", "Auto Approve Music Requests")
@Html.Checkbox(Model.ReportIssues, "ReportIssues", "Report Issues")
<h3>Features</h3>
@Html.Checkbox(Model.RecentlyAddedNewsletter, "RecentlyAddedNewsletter", "Recently Added Newsletter");
@Html.Checkbox(Model.RecentlyAddedNotification, "RecentlyAddedNotification", "Recently Added Notifications");
@Html.Checkbox(Model.RecentlyAddedNewsletter, "RecentlyAddedNewsletter", "Recently Added Newsletter")
@Html.Checkbox(Model.RecentlyAddedNotification, "RecentlyAddedNotification", "Recently Added Notifications")
<div>
</div>

View file

@ -104,22 +104,7 @@
<input type="checkbox" id="SearchForMusic" name="SearchForMusic"><label id="SearchForMusicLabel" for="SearchForMusic">Allow searching for Music</label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<input type="checkbox" disabled="disabled" id="RequireMovieApproval" name="RequireMovieApproval"><label style="color:grey" id="RequireMovieApprovalLabel" for="RequireMovieApproval">Require approval of all Movie requests</label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<input type="checkbox" disabled="disabled" id="RequireTvShowApproval" name="RequireTvShowApproval"><label style="color:grey" id="RequireTvShowApprovalLabel" for="RequireTvShowApproval">Require approval of all TV show requests</label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<input type="checkbox" disabled="disabled" id="RequireMusicApproval" name="RequireMusicApproval"><label style="color:grey" id="RequireMusicApprovalLabel" for="RequireMusicApproval">Require approval of all Music requests</label>
</div>
</div>
<div class="form-group">
<div style="text-align: center; margin-top: 20px">
<a href="#" id="submitPlexRequest" class="btn btn-primary-outline">Next</a>