diff --git a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js index 81ac16596a..6d69c7dcb3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js +++ b/dashboard-ui/bower_components/emby-webcomponents/guide/guide.js @@ -355,7 +355,7 @@ } else if (item.TimerId) { - status = item.TimerStatus; + status = item.Status; } else if (item.Type == 'Timer') { diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js index c126f3dba8..b5d595df12 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js +++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js @@ -105,7 +105,7 @@ define(['css!./indicators.css', 'material-icons'], function () { } else if (item.TimerId) { - status = item.TimerStatus; + status = item.Status; } else if (item.Type == 'Timer') { diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js index 44e31c339e..6946b252df 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js @@ -58,7 +58,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', } } - if (itemHelper.canEdit(user, item.Type)) { + if (itemHelper.canEdit(user, item)) { if (options.edit !== false && item.Type != 'SeriesTimer') { @@ -71,7 +71,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', } } - if (itemHelper.canEditImages(user, item.Type)) { + if (itemHelper.canEditImages(user, item)) { if (options.editImages !== false) { commands.push({ @@ -81,9 +81,9 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', } } - if (itemHelper.canEdit(user, item.Type)) { + if (itemHelper.canEdit(user, item)) { - if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual') { + if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual' && !(item.Type == 'Recording' && item.Status != 'Completed')) { if (options.editSubtitles !== false) { commands.push({ name: globalize.translate('sharedcomponents#EditSubtitles'), @@ -176,7 +176,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', if (user.Policy.IsAdministrator) { - if (item.Type != 'Timer' && item.Type != 'SeriesTimer' && item.Type != 'Program') { + if (item.Type != 'Timer' && item.Type != 'SeriesTimer' && item.Type != 'Program' && !(item.Type == 'Recording' && item.Status != 'Completed')) { commands.push({ name: globalize.translate('sharedcomponents#Refresh'), id: 'refresh' diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemhelper.js b/dashboard-ui/bower_components/emby-webcomponents/itemhelper.js index 489fa3f8d1..5cc5a9140d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemhelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemhelper.js @@ -56,6 +56,12 @@ define(['apphost'], function (appHost) { var invalidTypes = ['Person', 'Genre', 'MusicGenre', 'Studio', 'GameGenre', 'BoxSet', 'Playlist', 'UserView', 'CollectionFolder', 'Audio', 'TvChannel', 'Program', 'MusicAlbum', 'Timer']; + if (item.Type == 'Recording') { + if (item.Status != 'Completed') { + return false; + } + } + return !item.CollectionType && invalidTypes.indexOf(item.Type) == -1 && item.MediaType != 'Photo'; } @@ -70,10 +76,19 @@ define(['apphost'], function (appHost) { if (item.Type == 'SeriesTimer') { return false; } + + if (item.Type == 'Recording') { + if (item.Status != 'Completed') { + return false; + } + } + return item.MediaType || item.IsFolder || item.Type == "Genre" || item.Type == "MusicGenre" || item.Type == "MusicArtist"; } - function canEdit(user, itemType) { + function canEdit(user, item) { + + var itemType = item.Type; if (itemType == "UserRootFolder" || /*itemType == "CollectionFolder" ||*/ itemType == "UserView") { return false; @@ -83,12 +98,13 @@ define(['apphost'], function (appHost) { return false; } - if (user.Policy.IsAdministrator) { - - return true; + if (item.Type == 'Recording') { + if (item.Status != 'Completed') { + return false; + } } - return false; + return user.Policy.IsAdministrator; } return { @@ -119,7 +135,9 @@ define(['apphost'], function (appHost) { canEdit: canEdit, - canEditImages: function (user, itemType) { + canEditImages: function (user, item) { + + var itemType = item.Type; if (itemType == 'UserView') { if (user.Policy.IsAdministrator) { @@ -130,7 +148,13 @@ define(['apphost'], function (appHost) { return false; } - return itemType != 'Timer' && itemType != 'SeriesTimer' && canEdit(user, itemType); + if (item.Type == 'Recording') { + if (item.Status != 'Completed') { + return false; + } + } + + return itemType != 'Timer' && itemType != 'SeriesTimer' && canEdit(user, item); }, canSync: function (user, item) { @@ -150,6 +174,11 @@ define(['apphost'], function (appHost) { if (item.Type == 'SeriesTimer') { return false; } + if (item.Type == 'Recording') { + if (item.Status != 'Completed') { + return false; + } + } return user.Policy.EnablePublicSharing && appHost.supports('sharing'); } }; diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js index 7bdda755ed..6c6d088557 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js +++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js @@ -9,7 +9,7 @@ define(['datetime', 'globalize', 'embyRouter', 'itemHelper', 'material-icons', ' } else if (item.TimerId) { - status = item.TimerStatus; + status = item.Status; } else if (item.Type == 'Timer') { diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js index 34295f815a..45eb855b16 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingfields.js @@ -117,7 +117,7 @@ parent.querySelector('.seriesRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#RecordSeries'); } - if (program.TimerId && program.TimerStatus != 'Cancelled') { + if (program.TimerId && program.Status != 'Cancelled') { parent.querySelector('.btnManageRecording').classList.remove('visibilityHide'); parent.querySelector('.singleRecordingButton .recordingIcon').classList.add('recordingIcon-active'); parent.querySelector('.singleRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#DoNotRecord'); @@ -138,7 +138,7 @@ return apiClient.getLiveTvProgram(options.programId, apiClient.getCurrentUserId()).then(function (program) { instance.TimerId = program.TimerId; - instance.TimerStatus = program.TimerStatus; + instance.Status = program.Status; instance.SeriesTimerId = program.SeriesTimerId; loadData(options.parent, program, apiClient); @@ -162,7 +162,7 @@ var options = this.options; - if (!this.TimerId || this.TimerStatus == 'Cancelled') { + if (!this.TimerId || this.Status == 'Cancelled') { return; } @@ -213,7 +213,7 @@ var button = dom.parentWithTag(e.target, 'BUTTON'); var isChecked = !button.querySelector('i').classList.contains('recordingIcon-active'); - var hasEnabledTimer = this.TimerId && this.TimerStatus != 'Cancelled'; + var hasEnabledTimer = this.TimerId && this.Status != 'Cancelled'; if (isChecked) { if (!hasEnabledTimer) { diff --git a/dashboard-ui/components/directorybrowser/directorybrowser.js b/dashboard-ui/components/directorybrowser/directorybrowser.js index f7ecbbdd39..0bbe9502d1 100644 --- a/dashboard-ui/components/directorybrowser/directorybrowser.js +++ b/dashboard-ui/components/directorybrowser/directorybrowser.js @@ -86,7 +86,7 @@ var html = ''; html += '