UI and opt-in for setting permissions

This commit is contained in:
Mark McDowall
2014-01-26 00:57:14 -08:00
parent 5459b5fed4
commit 49168cad25
12 changed files with 137 additions and 68 deletions
@@ -5,15 +5,17 @@ define(
'marionette',
'Settings/MediaManagement/Naming/NamingView',
'Settings/MediaManagement/Sorting/View',
'Settings/MediaManagement/FileManagement/FileManagementView'
], function (Marionette, NamingView, SortingView, FileManagementView) {
'Settings/MediaManagement/FileManagement/FileManagementView',
'Settings/MediaManagement/Permissions/PermissionsView'
], function (Marionette, NamingView, SortingView, FileManagementView, PermissionsView) {
return Marionette.Layout.extend({
template: 'Settings/MediaManagement/MediaManagementLayoutTemplate',
regions: {
episodeNaming : '#episode-naming',
sorting : '#sorting',
fileManagement : '#file-management'
fileManagement : '#file-management',
permissions : '#permissions'
},
initialize: function (options) {
@@ -25,6 +27,7 @@ define(
this.episodeNaming.show(new NamingView({ model: this.namingSettings }));
this.sorting.show(new SortingView({ model: this.settings }));
this.fileManagement.show(new FileManagementView({ model: this.settings }));
this.permissions.show(new PermissionsView({ model: this.settings }));
}
});
});
@@ -2,4 +2,5 @@
<div id="episode-naming"></div>
<div id="sorting"></div>
<div id="file-management"></div>
<div id="permissions"></div>
</div>
@@ -0,0 +1,39 @@
'use strict';
define(
[
'marionette',
'Mixins/AsModelBoundView',
'Mixins/AutoComplete'
], function (Marionette, AsModelBoundView) {
var view = Marionette.ItemView.extend({
template: 'Settings/MediaManagement/Permissions/PermissionsViewTemplate',
ui: {
recyclingBin : '.x-path',
failedDownloadHandlingCheckbox: '.x-failed-download-handling',
failedDownloadOptions : '.x-failed-download-options'
},
events: {
'change .x-failed-download-handling': '_setFailedDownloadOptionsVisibility'
},
onShow: function () {
this.ui.recyclingBin.autoComplete('/directories');
},
_setFailedDownloadOptionsVisibility: function () {
var checked = this.ui.failedDownloadHandlingCheckbox.prop('checked');
if (checked) {
this.ui.failedDownloadOptions.slideDown();
}
else {
this.ui.failedDownloadOptions.slideUp();
}
}
});
return AsModelBoundView.call(view);
});
@@ -0,0 +1,48 @@
<fieldset class="advanced-setting">
<legend>Permissions</legend>
<div class="control-group">
<label class="control-label">Set Permissions</label>
<div class="controls">
<label class="checkbox toggle well">
<input type="checkbox" name="setPermissionsLinux"/>
<p>
<span>Yes</span>
<span>No</span>
</p>
<div class="btn btn-primary slide-button"/>
</label>
<span class="help-inline-checkbox">
{{LinuxOnly}}
<i class="icon-question-sign" title="Should chmod/chown be run when files are imported/renamed?"/>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">File chmod mask</label>
<div class="controls">
<input type="text" name="fileChmod"/>
<span class="help-inline">
{{LinuxOnly}}
<i class="icon-nd-form-info" title="Octal, applied to media files when imported/renamed by NzbDrone"/>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Folder chmod mask</label>
<div class="controls">
<input type="text" name="folderChmod"/>
<span class="help-inline">
{{LinuxOnly}}
<i class="icon-nd-form-info" title="Octal, applied to series/season folders created by NzbDrone"/>
</span>
</div>
</div>
</fieldset>