Fixes issue #62

This commit is contained in:
Shannon Barrett 2016-03-22 12:32:48 -05:00
commit c9d2b8fc13
10 changed files with 73 additions and 17 deletions

View file

@ -39,9 +39,14 @@ $(document).on("click", ".dropdownTv", function (e) {
var $form = $('#form' + buttonId);
var data = $form.serialize();
var seasons = $(this).attr("season-select");
if (seasons === "1") {
if (seasons === "2") {
// Send over the latest
data = data + "&latest=true";
data = data + "&seasons=latest";
}
if (seasons === "1") {
// Send over the first season
data = data + "&seasons=first";
}
var type = $form.prop('method');

View file

@ -54,7 +54,7 @@ namespace PlexRequests.UI.Helpers
int qualityProfile;
int.TryParse(sonarrSettings.QualityProfile, out qualityProfile);
var result = SonarrApi.AddSeries(model.ProviderId, model.Title, qualityProfile,
sonarrSettings.SeasonFolders, sonarrSettings.RootPath, model.LatestTv, sonarrSettings.ApiKey,
sonarrSettings.SeasonFolders, sonarrSettings.RootPath, model.LatestTv, model.SeasonList, sonarrSettings.ApiKey,
sonarrSettings.FullUri);
Log.Trace("Sonarr Add Result: ");
@ -65,7 +65,7 @@ namespace PlexRequests.UI.Helpers
public SickRageTvAdd SendToSickRage(SickRageSettings sickRageSettings, RequestedModel model)
{
var result = SickrageApi.AddSeries(model.ProviderId, model.LatestTv, sickRageSettings.QualityProfile,
var result = SickrageApi.AddSeries(model.ProviderId, model.LatestTv, model.SeasonList, sickRageSettings.QualityProfile,
sickRageSettings.ApiKey, sickRageSettings.FullUri);
Log.Trace("SickRage Add Result: ");

View file

@ -77,7 +77,7 @@ namespace PlexRequests.UI.Modules
Get["movie/playing"] = parameters => CurrentlyPlayingMovies();
Post["request/movie"] = parameters => RequestMovie((int)Request.Form.movieId);
Post["request/tv"] = parameters => RequestTvShow((int)Request.Form.tvId, (bool)Request.Form.latest);
Post["request/tv"] = parameters => RequestTvShow((int)Request.Form.tvId, (string)Request.Form.seasons);
}
private TheMovieDbApi MovieApi { get; }
private ICouchPotatoApi CouchPotatoApi { get; }
@ -259,7 +259,7 @@ namespace PlexRequests.UI.Modules
/// <param name="showId">The show identifier.</param>
/// <param name="latest">if set to <c>true</c> [latest].</param>
/// <returns></returns>
private Response RequestTvShow(int showId, bool latest)
private Response RequestTvShow(int showId, string seasons)
{
if (RequestService.CheckRequest(showId))
{
@ -285,7 +285,7 @@ namespace PlexRequests.UI.Modules
DateTime firstAir;
DateTime.TryParse(showInfo.premiered, out firstAir);
var latest = seasons == "latest";
var model = new RequestedModel
{
ProviderId = showInfo.externals?.thetvdb ?? 0,
@ -302,7 +302,12 @@ namespace PlexRequests.UI.Modules
LatestTv = latest,
ImdbId = showInfo.externals?.imdb ?? string.Empty
};
var seasonsList = new List<int>();
if (seasons == "first")
{
seasonsList.Add(1);
}
model.SeasonList = seasonsList.ToArray();
var settings = PrService.GetSettings();
if (!settings.RequireApproval)
@ -357,7 +362,7 @@ namespace PlexRequests.UI.Modules
private Response SendToSickRage(SickRageSettings sickRageSettings, RequestedModel model)
{
var result = SickrageApi.AddSeries(model.ProviderId, model.LatestTv, sickRageSettings.QualityProfile,
var result = SickrageApi.AddSeries(model.ProviderId, model.LatestTv, model.SeasonList, sickRageSettings.QualityProfile,
sickRageSettings.ApiKey, sickRageSettings.FullUri);
Log.Trace("SickRage Result: ");

View file

@ -84,7 +84,7 @@
</div>
<div class="col-sm-2 col-sm-push-3">
<form method="POST" action="/search/request/{{type}}" id="form{{id}}">
<input name="{{type}}Id" type="text" value="{{id}}" hidden="hidden" />
<input name="{{type}}Id" type="text" value="{{id}}" hidden="hidden" />
{{#if_eq type "movie"}}
<button id="{{id}}" style="text-align: right" class="btn btn-primary-outline requestMovie" type="submit"><i class="fa fa-plus"></i> Request</button>
{{/if_eq}}
@ -96,7 +96,8 @@
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a id="{{id}}" season-select="0" class="dropdownTv " href="#">All Seasons</a></li>
<li><a id="{{id}}" season-select="1" class="dropdownTv" href="#">Latest Season</a></li>
<li><a id="{{id}}" season-select="1" class="dropdownTv" href="#">First Season</a></li>
<li><a id="{{id}}" season-select="2" class="dropdownTv" href="#">Latest Season</a></li>
</ul>
</div>
{{/if_eq}}