diff --git a/dashboard-ui/components/fileorganizer/fileorganizer.js b/dashboard-ui/components/fileorganizer/fileorganizer.js
index 22e01fc4ff..6baacf079d 100644
--- a/dashboard-ui/components/fileorganizer/fileorganizer.js
+++ b/dashboard-ui/components/fileorganizer/fileorganizer.js
@@ -29,6 +29,7 @@
context.querySelector('#txtSeason').value = item.ExtractedSeasonNumber;
context.querySelector('#txtEpisode').value = item.ExtractedEpisodeNumber;
context.querySelector('#txtEndingEpisode').value = item.ExtractedEndingEpisodeNumber;
+ context.querySelector('.extractedName').value = item.ExtractedName;
extractedName = item.ExtractedName;
extractedYear = item.ExtractedYear;
@@ -54,6 +55,43 @@
context.querySelector('#selectSeries').innerHTML = existingSeriesHtml;
+ ApiClient.getVirtualFolders().then(function (result) {
+
+ //var movieLocations = [];
+ var seriesLocations = [];
+
+ for (var n = 0; n < result.length; n++) {
+
+ var virtualFolder = result[n];
+
+ for (var i = 0, length = virtualFolder.Locations.length; i < length; i++) {
+ var location = {
+ value: virtualFolder.Locations[i],
+ display: virtualFolder.Name + ': ' + virtualFolder.Locations[i]
+ };
+
+ //if (virtualFolder.CollectionType == 'movies') {
+ // movieLocations.push(location);
+ //}
+ if (virtualFolder.CollectionType == 'tvshows') {
+ seriesLocations.push(location);
+ }
+ }
+ }
+
+ var seriesFolderHtml = seriesLocations.map(function (s) {
+ return '';
+ }).join('');
+
+ if (seriesLocations.length > 1) {
+ // If the user has multiple folders, add an empty item to enforce a manual selection
+ seriesFolderHtml = '' + seriesFolderHtml;
+ }
+
+ context.querySelector('#selectSeriesFolder').innerHTML = seriesFolderHtml;
+
+ }, onApiFailure);
+
}, onApiFailure);
}
@@ -62,14 +100,32 @@
Dashboard.showLoadingMsg();
var resultId = dlg.querySelector('#hfResultId').value;
+ var seriesId = dlg.querySelector('#selectSeries').value;
+
+ var targetFolder;
+ var newProviderIds;
+ var newSeriesName;
+ var newSeriesYear;
+
+ if (seriesId == "##NEW##" && currentNewItem != null) {
+ seriesId = null;
+ newProviderIds = JSON.stringify(currentNewItem.ProviderIds);
+ newSeriesName = currentNewItem.Name;
+ newSeriesYear = currentNewItem.ProductionYear;
+ targetFolder = dlg.querySelector('#selectSeriesFolder').value;
+ }
var options = {
- SeriesId: dlg.querySelector('#selectSeries').value,
+ SeriesId: seriesId,
SeasonNumber: dlg.querySelector('#txtSeason').value,
EpisodeNumber: dlg.querySelector('#txtEpisode').value,
EndingEpisodeNumber: dlg.querySelector('#txtEndingEpisode').value,
- RememberCorrection: dlg.querySelector('#chkRememberCorrection').checked
+ RememberCorrection: dlg.querySelector('#chkRememberCorrection').checked,
+ NewSeriesProviderIds: newProviderIds,
+ NewSeriesName: newSeriesName,
+ NewSeriesYear: newSeriesYear,
+ TargetFolder: targetFolder
};
ApiClient.performEpisodeOrganization(resultId, options).then(function () {
@@ -93,11 +149,23 @@
var seriesHtml = existingSeriesHtml;
seriesHtml = seriesHtml + '';
dlg.querySelector('#selectSeries').innerHTML = seriesHtml;
+ selectedSeriesChanged(dlg);
}
});
});
}
+ function selectedSeriesChanged(dlg) {
+ var seriesId = dlg.querySelector('#selectSeries').value;
+
+ if (seriesId == "##NEW##") {
+ dlg.querySelector('.fldSelectSeriesFolder').classList.remove('hide');
+ }
+ else {
+ dlg.querySelector('.fldSelectSeriesFolder').classList.add('hide');
+ }
+ }
+
return {
show: function (item) {
return new Promise(function (resolve, reject) {
@@ -161,6 +229,11 @@
showNewSeriesDialog(dlg);
});
+ dlg.querySelector('#selectSeries').addEventListener('change', function (e) {
+
+ selectedSeriesChanged(dlg);
+ });
+
initEpisodeForm(dlg, item);
}
diff --git a/dashboard-ui/components/fileorganizer/fileorganizer.template.html b/dashboard-ui/components/fileorganizer/fileorganizer.template.html
index 1f75246685..98372ff305 100644
--- a/dashboard-ui/components/fileorganizer/fileorganizer.template.html
+++ b/dashboard-ui/components/fileorganizer/fileorganizer.template.html
@@ -15,6 +15,12 @@