This commit is contained in:
tidusjar 2017-06-24 21:39:33 +01:00
parent b8d3a88409
commit d1d65b24de
7 changed files with 161 additions and 138 deletions

View file

@ -7,7 +7,7 @@ namespace Ombi.Api.Interfaces
{
public interface IRadarrApi
{
RadarrAddMovie AddMovie(int tmdbId, string title, int year, int qualityId, string rootPath, string apiKey, Uri baseUrl, bool searchNow = false);
RadarrAddMovie AddMovie(int tmdbId, string title, int year, int qualityId, string rootPath, string apiKey, Uri baseUrl, bool searchNow = false, string minimumAvailability = null);
List<RadarrMovieResponse> GetMovies(string apiKey, Uri baseUrl);
List<SonarrProfile> GetProfiles(string apiKey, Uri baseUrl);
SystemStatus SystemStatus(string apiKey, Uri baseUrl);

View file

@ -51,6 +51,7 @@ namespace Ombi.Api.Models.Radarr
public string titleSlug { get; set; }
public int id { get; set; }
public int year { get; set; }
public string minimumAvailability { get; set; }
}
}

View file

@ -46,6 +46,7 @@ namespace Ombi.Api.Models.Radarr
public class RadarrMovieResponse
{
public string title { get; set; }
public string minimumAvailability { get; set; }
public string sortTitle { get; set; }
public double sizeOnDisk { get; set; }
public string status { get; set; }

View file

@ -77,7 +77,7 @@ namespace Ombi.Api
return obj;
}
public RadarrAddMovie AddMovie(int tmdbId, string title, int year, int qualityId, string rootPath, string apiKey, Uri baseUrl, bool searchNow = false)
public RadarrAddMovie AddMovie(int tmdbId, string title, int year, int qualityId, string rootPath, string apiKey, Uri baseUrl, bool searchNow = false, string minimumAvailability = null)
{
var request = new RestRequest
{
@ -95,6 +95,10 @@ namespace Ombi.Api
monitored = true,
year = year
};
if(!string.IsNullOrEmpty(minimumAvailability))
{
options.minimumAvailability = minimumAvailability;
}
if (searchNow)
{

View file

@ -121,7 +121,7 @@ namespace Ombi.Core
}
var rootFolderPath = model.RootFolderSelected <= 0 ? settings.FullRootPath : GetRootPath(model.RootFolderSelected, settings);
var result = RadarrApi.AddMovie(model.ProviderId, model.Title, model.ReleaseDate.Year, qualityProfile, rootFolderPath, settings.ApiKey, settings.FullUri, true);
var result = RadarrApi.AddMovie(model.ProviderId, model.Title, model.ReleaseDate.Year, qualityProfile, rootFolderPath, settings.ApiKey, settings.FullUri, true, settings.MinimumAvailability);
if (!string.IsNullOrEmpty(result.Error?.message))
{

View file

@ -33,5 +33,6 @@ namespace Ombi.Core.SettingModels
public string QualityProfile { get; set; }
public string RootPath { get; set; }
public string FullRootPath { get; set; }
public string MinimumAvailability { get; set; }
}
}

View file

@ -88,6 +88,22 @@
</div>
</div>
<div class="form-group">
<label for="selectRootFolder" class="control-label">Default Minimum Availability</label>
<div id="rootFolders">
<select class="form-control form-control-custom" id="minimumAvailability">
<option @if (Model.MinimumAvailability == "Announced") { <text> selected='selected' </text> } value='Announced'>Announced</option>
<option @if (Model.MinimumAvailability == "InCinemas") { <text> selected='selected' </text> } value='InCinemas'>In Cinemas</option>
<option @if (Model.MinimumAvailability == "Released") { <text> selected='selected' </text> } value='Released'>Physical/Web</option>
<option @if (Model.MinimumAvailability == "PreDb") { <text> selected='selected' </text> } value='PreDb'>
PreDb
</option>
</select>
</div>
</div>
<div class="form-group">
<div>
<button id="testRadarr" type="button" class="btn btn-primary-outline">Test Connectivity <div id="spinner" /></button>
@ -130,7 +146,6 @@
success: function (response) {
response.forEach(function (result) {
if (result.id == qualitySelected) {
$("#select").append("<option selected='selected' value='" + result.id + "'>" + result.name + "</option>");
} else {
$("#select").append("<option value='" + result.id + "'>" + result.name + "</option>");
@ -191,11 +206,12 @@
var rootFolder = $("#rootFolders option:selected").val();
var rootFolderPath = $('#rootFolders option:selected').text();
$('#fullRootPath').val(rootFolderPath);
var minAvailability = $('#minimumAvailability option:selected').val();
var $form = $("#mainForm");
var data = $form.serialize();
data = data + "&qualityProfile=" + qualityProfile + "&rootPath=" + rootFolder;
data = data + "&qualityProfile=" + qualityProfile + "&rootPath=" + rootFolder + "&minimumAvailability=" + minAvailability;
$.ajax({
type: $form.prop("method"),