Download Client settings and QualityProfiles

This commit is contained in:
Mark McDowall 2013-03-13 17:26:30 -07:00
parent c4fa61023f
commit 76b8b006fa
10 changed files with 404 additions and 13 deletions

View File

@ -1,6 +1,7 @@
.form-horizontal .controls i {
font-size: 25px;
color: #3A87AD;
font-size: 16px;
/*color: #3A87AD;*/ /* Info blue */
color: #595959;
cursor: default;
}

View File

@ -14,7 +14,7 @@
defaults: {
id: null,
name: '',
//allowed: {},
//'qualities.allowed': false,
cutoff: null
}
});

View File

@ -1,3 +1,293 @@
<div>
Download Client settings will go here
</div>
<fieldset>
<legend>General</legend>
<div class="control-group">
<label class="control-label">Download Client</label>
<div class="controls">
<select class="inputClass x-backlog-setting" name="downloadClient">
<option value="0">SABnzbd</option>
<option value="1">Blackhole</option>
<option value="2">Pneumatic</option>
<option value="3">NZBGet</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="What method do you download NZBs with?"></i>
</span>
</div>
</div>
<!--Todo: This should auto-complete-->
<div class="control-group">
<label class="control-label">Unsorted TV Directory</label>
<div class="controls">
<input type="text" placeholder="C:\Unsorted TV" name="downloadClientDropDirectory" />
<span class="help-inline">
<i class="icon-question-sign" title="The directory where your download client downloads TV shows to."></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Use Scene Name</label>
<div class="controls">
<div class="switch">
<input type="checkbox" name="useSceneName" />
</div>
<span class="help-inline-checkbox">
<i class="icon-question-sign" title="Use Scene name when adding NZB to queue?"></i>
</span>
</div>
</div>
</fieldset>
<fieldset>
<legend>SABnzbd</legend>
<div class="control-group">
<label class="control-label">Auto-Configure</label>
<div class="controls">
<input type="button" value="Auto-Configure" class="btn btn-inverse" />
<span class="help-inline">
<i class="icon-question-sign" title="(Windows only) If access to SABnzbd doesn't require a username & password and it is on the same system as NzbDrone, you can auto-configure it"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Host</label>
<div class="controls">
<input type="text" name="sabHost" />
<span class="help-inline">
<i class="icon-question-sign" title="Hostname or IP Address running SABnzbd"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Port</label>
<div class="controls">
<input type="text" name="sabPort" />
<span class="help-inline">
<i class="icon-question-sign" title="Port for the SABnzbd Web Interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">API Key</label>
<div class="controls">
<input type="text" name="sabApiKey" />
<span class="help-inline">
<i class="icon-question-sign" title="API Key for SABnzbd<br/>Found in Config -> General"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Username</label>
<div class="controls">
<input type="text" name="sabUsername" />
<span class="help-inline">
<i class="icon-question-sign" title="Username for the SABnzbd web interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Password</label>
<div class="controls">
<input type="password" name="sabPassword" />
<span class="help-inline">
<i class="icon-question-sign" title="Password for the SABnzbd web interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">TV Category</label>
<div class="controls">
<input type="text" name="sabTvCategory" placeholder="This is not the dropdownlist you're looking for"/>
<span class="help-inline">
<i class="icon-question-sign" title="Category to use when sending NZBs to SABnzbd"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Backlog Priority</label>
<div class="controls">
<select name="sabBacklogTvPriority">
<option>Default</option>
<option>Paused</option>
<option>Low</option>
<option>Normal</option>
<option>High</option>
<option>Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes older than 7 days to SABnzbd"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Recent Priority</label>
<div class="controls">
<select name="sabRecentTvPriority">
<option>Default</option>
<option>Paused</option>
<option>Low</option>
<option>Normal</option>
<option>High</option>
<option>Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes that aired within the last 7 days to SABnzbd"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Test</label>
<div class="controls">
<input type="button" value="Test" class="btn btn-inverse" />
<span class="help-inline">
<i class="icon-question-sign" title="Test SABnzbd settings"></i>
</span>
</div>
</div>
</fieldset>
<fieldset>
<legend>Blackhole</legend>
<!--Todo: This should auto-complete-->
<div class="control-group">
<label class="control-label">Blackhole Directory</label>
<div class="controls">
<input type="text" name="blackholeDirectory" />
<span class="help-inline">
<i class="icon-question-sign" title="The directory where your download client will pickup .nzb files"></i>
</span>
</div>
</div>
</fieldset>
<fieldset>
<legend>Pneumatic</legend>
<!--Todo: This should auto-complete-->
<div class="control-group">
<label class="control-label">Nzb Directory</label>
<div class="controls">
<input type="text" name="pneumaticDirectory" />
<span class="help-inline">
<i class="icon-question-sign" title="Directory to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i>
</span>
</div>
</div>
</fieldset>
<fieldset>
<legend>NZBGet</legend>
<div class="control-group">
<label class="control-label">Host</label>
<div class="controls">
<input type="text" name="nzbgetHost" />
<span class="help-inline">
<i class="icon-question-sign" title="Hostname or IP Address running NZBGet"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Port</label>
<div class="controls">
<input type="text" name="nzbgetPort" />
<span class="help-inline">
<i class="icon-question-sign" title="Port for the NZBGet Web Interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">API Key</label>
<div class="controls">
<input type="text" name="nzbgetApiKey" />
<span class="help-inline">
<i class="icon-question-sign" title="API Key for NZBGet<br/>Found in Config -> General"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Username</label>
<div class="controls">
<input type="text" name="nzbgetUsername" />
<span class="help-inline">
<i class="icon-question-sign" title="Username for the NZBGet web interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Password</label>
<div class="controls">
<input type="password" name="nzbgetPassword" />
<span class="help-inline">
<i class="icon-question-sign" title="Password for the NZBGet web interface"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">TV Category</label>
<div class="controls">
<input type="text" name="nzbgetTvCategory" />
<span class="help-inline">
<i class="icon-question-sign" title="Category to use when sending NZBs to NZBGet"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Backlog Priority</label>
<div class="controls">
<select name="nzbgetBacklogTvPriority">
<option>Default</option>
<option>Paused</option>
<option>Low</option>
<option>Normal</option>
<option>High</option>
<option>Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes older than 7 days to NZBGet"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Recent Priority</label>
<div class="controls">
<select name="nzbgetRecentTvPriority">
<option>Default</option>
<option>Paused</option>
<option>Low</option>
<option>Normal</option>
<option>High</option>
<option>Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes that aired within the last 7 days to NZBGet"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Test</label>
<div class="controls">
<input type="button" value="Test" class="btn btn-inverse" />
<span class="help-inline">
<i class="icon-question-sign" title="Test NZBGet settings"></i>
</span>
</div>
</div>
</fieldset>

View File

@ -7,9 +7,17 @@ define([
NzbDrone.Settings.DownloadClient.DownloadClientView = Backbone.Marionette.ItemView.extend({
template: 'Settings/DownloadClient/DownloadClientTemplate',
className: 'form-horizontal',
ui: {
switch: '.switch',
tooltip: '[class^="help-inline"] i'
},
onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el);
this.ui.switch.bootstrapSwitch();
this.ui.tooltip.tooltip({ placement: 'right', html: true });
}
});
});

View File

@ -16,7 +16,6 @@ define([
initialize: function(){
//Listen to save event
this.bind
},
onRender: function () {

View File

@ -0,0 +1,54 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Edit</h3>
</div>
<div class="modal-body">
<div class="form-horizontal">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input type="text" name="name">
<span class="help-inline">
<i class="icon-question-sign" title="The name for this quality profile"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Cutoff</label>
<div class="controls">
<select class="x-cutoff" name="cutoff">
{{#each allowed}}
<option value="{{id}}">{{name}}</option>
{{/each}}
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Once this quality is reached NzbDrone will no longer download episodes"></i>
</span>
</div>
</div>
<!--Todo: Why is a null allowed being treated as a true?-->
{{#each qualities}}
<div class="control-group">
<label class="control-label">{{name}}</label>
<div class="controls">
<div class="switch" data-on-label="Yes" data-off-label="No">
<input type="checkbox" name="allowed" />
</div>
</div>
</div>
{{/each}}
</div>
</div>
<div class="modal-footer">
<button class="btn btn-danger pull-left x-remove" >delete</button>
<button class="btn" data-dismiss="modal">cancel</button>
<button class="btn btn-primary x-save">save</button>
</div>

View File

@ -0,0 +1,38 @@
'use strict';
define(['app', 'Quality/QualityProfileModel'], function () {
NzbDrone.Settings.Quality.Profile.EditQualityProfileView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Quality/Profile/EditQualityProfileTemplate',
tagName: 'div',
className: "modal",
ui: {
switch: '.switch'
},
events: {
'click .x-save': 'saveQualityProfile',
//'click .x-remove': 'removeSeries'
},
onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el);
this.ui.switch.bootstrapSwitch();
},
saveQualityProfile: function () {
//Todo: Make sure model is updated with Allowed, Cutoff, Name
this.model.save();
this.trigger('saved');
this.$el.parent().modal('hide');
},
// removeSeries: function () {
// var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model });
// NzbDrone.modalRegion.show(view);
// }
});
});

View File

@ -5,4 +5,7 @@
{{/each}}
</td>
<td name="cutoffName"></td>
<td>Edit | Delete</td>
<td>
<i class="icon-cog x-edit" title="Edit Series"></i>
| Delete
</td>

View File

@ -2,7 +2,8 @@
define([
'app',
'Quality/QualityProfileCollection'
'Quality/QualityProfileCollection',
'Settings/Quality/Profile/EditQualityProfileView'
], function () {
@ -20,16 +21,14 @@ define([
},
initialize: function () {
var test = 1;
},
onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el);
},
editSeries: function () {
var view = new NzbDrone.Series.Edit.EditSeriesView({ model: this.model});
var view = new NzbDrone.Settings.Quality.Profile.EditQualityProfileView({ model: this.model});
NzbDrone.vent.trigger(NzbDrone.Events.OpenModalDialog, {
view: view

View File

@ -2,7 +2,6 @@
<FileVersion>1</FileVersion>
<AutoEnableOnStartup>True</AutoEnableOnStartup>
<AllowParallelTestExecution>true</AllowParallelTestExecution>
<AllowTestsToRunInParallelWithThemselves>true</AllowTestsToRunInParallelWithThemselves>
<FrameworkUtilisationTypeForNUnit>UseDynamicAnalysis</FrameworkUtilisationTypeForNUnit>
<FrameworkUtilisationTypeForGallio>Disabled</FrameworkUtilisationTypeForGallio>
<FrameworkUtilisationTypeForMSpec>Disabled</FrameworkUtilisationTypeForMSpec>