diff --git a/dashboard-ui/scripts/syncjob.js b/dashboard-ui/scripts/syncjob.js
index 99f44a62e8..da81a58a62 100644
--- a/dashboard-ui/scripts/syncjob.js
+++ b/dashboard-ui/scripts/syncjob.js
@@ -66,8 +66,7 @@
html += '
';
- var hasActions = jobItem.Status != 'RemovedFromDevice';
- hasActions = false;
+ var hasActions = ['Queued', 'Cancelled', 'Failed', 'Transferring', 'Converting'].indexOf(jobItem.Status) != -1;
html += '';
@@ -156,8 +155,14 @@
html += '';
@@ -172,8 +177,47 @@
});
- $('.btnCancelJob', flyout).on('click', function () {
- //cancelJob(page, this.getAttribute('data-id'));
+ $('.btnCancelJobItem', flyout).on('click', function () {
+ cancelJobItem(page, this.getAttribute('data-id'));
+ });
+
+ $('.btnRetryJobItem', flyout).on('click', function () {
+ retryJobItem(page, this.getAttribute('data-id'));
+ });
+ }
+
+ function cancelJobItem(page, jobItemId) {
+
+ $('.jobMenu', page).popup('close');
+
+ // Need a timeout because jquery mobile will not show a popup while another is in the act of closing
+
+ Dashboard.showLoadingMsg();
+
+ ApiClient.ajax({
+
+ type: "DELETE",
+ url: ApiClient.getUrl('Sync/JobItems/' + jobItemId)
+
+ }).done(function () {
+
+ loadJob(page);
+ });
+
+ }
+
+ function retryJobItem(page, jobItemId) {
+
+ $('.jobMenu', page).popup('close');
+
+ ApiClient.ajax({
+
+ type: "POST",
+ url: ApiClient.getUrl('Sync/JobItems/' + jobItemId + '/Enable')
+
+ }).done(function () {
+
+ loadJob(page);
});
}
diff --git a/dashboard-ui/scripts/userlibraryaccess.js b/dashboard-ui/scripts/userlibraryaccess.js
index d844ceabdb..9e5c9eb143 100644
--- a/dashboard-ui/scripts/userlibraryaccess.js
+++ b/dashboard-ui/scripts/userlibraryaccess.js
@@ -120,6 +120,7 @@
return this.getAttribute('data-id');
}).get();
+ user.Policy.BlockedMediaFolders = null;
user.Policy.EnableAllChannels = $('#chkEnableAllChannels', page).checked();
user.Policy.EnabledChannels = user.Policy.EnableAllChannels ?
@@ -129,6 +130,7 @@
return this.getAttribute('data-id');
}).get();
+ user.Policy.BlockedChannels = null;
user.Policy.EnableAllDevices = $('#chkEnableAllDevices', page).checked();
user.Policy.EnabledDevices = user.Policy.EnableAllDevices ?
diff --git a/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js b/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js
index 7547652648..19f30bcb36 100644
--- a/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js
+++ b/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js
@@ -1491,9 +1491,9 @@
/**
* Gets the virtual folder list
*/
- self.getVirtualFolders = function (userId) {
+ self.getVirtualFolders = function () {
- var url = userId ? "Users/" + userId + "/VirtualFolders" : "Library/VirtualFolders";
+ var url = "Library/VirtualFolders";
url = self.getUrl(url);