[ML] Fix saving of custom URLs for job created in Advanced page (#21207) (#21259)

* [ML] Fix saving of custom URLs for job created in Advanced page

* [ML] Edit to custom URL save custom_settings following review
This commit is contained in:
Pete Harverson 2018-07-26 10:54:06 +01:00 committed by GitHub
parent fe479fdaba
commit 8bd705c11e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,7 +26,6 @@ export function saveJob(job, newJobData, finish) {
};
if (jobData.custom_settings !== undefined) {
// remove the created_by setting if too much of the job has changed
jobData.custom_settings = processCustomSettings(jobData, datafeedData);
}
@ -194,8 +193,8 @@ function extractDetectorDescriptions(job, newJobData) {
function extractCustomSettings(job, newJobData) {
const settingsData = {};
if (job.custom_settings && newJobData && newJobData.customUrls) {
settingsData.custom_settings = job.custom_settings;
if (newJobData && newJobData.customUrls) {
settingsData.custom_settings = job.custom_settings || {};
settingsData.custom_settings.custom_urls = newJobData.customUrls;
}
return settingsData;
@ -230,12 +229,15 @@ function extractDatafeed(job, newDatafeedData) {
}
function processCustomSettings(jobData, datafeedData) {
// remove the created_by setting if parts of the job contain
// fields which won't be retained when cloned in a wizard
let customSettings = {};
if (jobData.custom_settings !== undefined) {
customSettings = { ...jobData.custom_settings };
if (jobData.custom_settings.created_by !== undefined) {
if (jobData.detectors !== undefined || Object.keys(datafeedData).length) {
if (jobData.detectors !== undefined || Object.keys(datafeedData).length ||
(jobData.custom_settings.custom_urls !== undefined && jobData.custom_settings.custom_urls.length)) {
delete customSettings.created_by;
}
}