diff --git a/client/cat3/src/partials/sections/dashboard/workzone/orchestration/popups/addChefJobEventCtrl.js b/client/cat3/src/partials/sections/dashboard/workzone/orchestration/popups/addChefJobEventCtrl.js index 54853bf91..b46a1735a 100644 --- a/client/cat3/src/partials/sections/dashboard/workzone/orchestration/popups/addChefJobEventCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/workzone/orchestration/popups/addChefJobEventCtrl.js @@ -35,12 +35,11 @@ } $scope.repeatBy = items.chefJenkScriptTaskObj.repeatBy || items.chefJenkScriptTaskObj.cronRepeatEvery.toString(); $scope.repeatsType = items.chefJenkScriptTaskObj.repeats || items.chefJenkScriptTaskObj.cronFrequency; - $scope.timeEventHour = items.chefJenkScriptTaskObj.timeEventHour || items.chefJenkScriptTaskObj.cronHour !==null? items.chefJenkScriptTaskObj.cronHour.toString() : ''; - $scope.timeEventMinute = items.chefJenkScriptTaskObj.timeEventMinute || items.chefJenkScriptTaskObj.cronMinute !==null ? items.chefJenkScriptTaskObj.cronMinute.toString() : ''; - $scope.weekOfTheDay = items.chefJenkScriptTaskObj.weekOfTheDay || items.chefJenkScriptTaskObj.cronWeekDay !==null ?items.chefJenkScriptTaskObj.cronWeekDay.toString(): ''; - $scope.currentDate = items.chefJenkScriptTaskObj.currentDate || items.chefJenkScriptTaskObj.cronDate !==null ?items.chefJenkScriptTaskObj.cronDate.toString() : ''; - $scope.selectedDayOfTheMonth = items.chefJenkScriptTaskObj.selectedDayOfTheMonth || items.chefJenkScriptTaskObj.cronMonth !==null ?items.chefJenkScriptTaskObj.cronMonth.toString() : ''; - $scope.selectedMonth = items.chefJenkScriptTaskObj.selectedMonth || items.chefJenkScriptTaskObj.cronYear !==null ? items.chefJenkScriptTaskObj.cronYear.toString() : ''; + $scope.timeEventHour = items.chefJenkScriptTaskObj.timeEventHour || (items.chefJenkScriptTaskObj.cronMinute && items.chefJenkScriptTaskObj.cronMinute !==null) ? items.chefJenkScriptTaskObj.cronHour.toString() : ''; + $scope.timeEventMinute = items.chefJenkScriptTaskObj.timeEventMinute || (items.chefJenkScriptTaskObj.cronMinute && items.chefJenkScriptTaskObj.cronMinute !==null) ? items.chefJenkScriptTaskObj.cronMinute.toString() : ''; + $scope.weekOfTheDay = items.chefJenkScriptTaskObj.weekOfTheDay || (items.chefJenkScriptTaskObj.cronWeekDay && items.chefJenkScriptTaskObj.cronWeekDay !==null) ?items.chefJenkScriptTaskObj.cronWeekDay.toString(): ''; + $scope.selectedDayOfTheMonth = items.chefJenkScriptTaskObj.selectedDayOfTheMonth || (items.chefJenkScriptTaskObj.cronDate && items.chefJenkScriptTaskObj.cronDate !==null) ?items.chefJenkScriptTaskObj.cronDate.toString() : ''; + $scope.selectedMonth = items.chefJenkScriptTaskObj.selectedMonth || (items.chefJenkScriptTaskObj.cronMonth && items.chefJenkScriptTaskObj.cronMonth !==null) ? items.chefJenkScriptTaskObj.cronMonth.toString() : ''; if ($scope.repeatsType === 'Minutes' || $scope.repeatsType === 'Hourly') { $scope.checkFrequencyCheck = false; } else { diff --git a/client/htmls/private/js/scriptList.js b/client/htmls/private/js/scriptList.js index 133118463..6fdf4df6c 100644 --- a/client/htmls/private/js/scriptList.js +++ b/client/htmls/private/js/scriptList.js @@ -7,8 +7,6 @@ function setfilename(val){ //calling the global track functionality when track params are available.. $(document).ready(function(e) { getScriptList(); - $('#divParam').hide(); - $('#checkScriptParam').hide(); }); //when the user clicks on the new button the setting the value to 'new' for the hidden field to know that user is creating the new item.. @@ -23,6 +21,8 @@ $('.addScriptItem').click(function(e) { $('#fileHiddenInputId').val(''); $('.modal-header').find('.modal-title').html('Create New Script Item'); $('#scriptEditHiddenInput').val('new'); + $('#divParam').hide(); + $('#checkScriptParam').hide(); getOrganizationList(); }); diff --git a/server/app/cronjobs/catalyst-scheduler/catalystScheduler.js b/server/app/cronjobs/catalyst-scheduler/catalystScheduler.js index 552bdaf7a..724081f6d 100644 --- a/server/app/cronjobs/catalyst-scheduler/catalystScheduler.js +++ b/server/app/cronjobs/catalyst-scheduler/catalystScheduler.js @@ -18,10 +18,16 @@ catalystSync.executeScheduledInstances = function executeScheduledInstances() { var resultList =[]; for (var i = 0; i < instances.length; i++) { (function(instance) { - if(instance.cronJobIds && instance.cronJobIds !== null){ - cronTab.cancelJobIds(instance.cronJobIds); + if(instance.cronJobIds && instance.cronJobIds.length > 0){ + var cronJobCheck = cancelOldCronJobs(instance.cronJobIds) + if(cronJobCheck){ + resultList.push(function(callback){schedulerService.executeSchedulerForInstances(instance,callback);}); + } + }else { + resultList.push(function (callback) { + schedulerService.executeSchedulerForInstances(instance, callback); + }); } - resultList.push(function(callback){schedulerService.executeSchedulerForInstances(instance,callback);}); if(resultList.length === instances.length){ logger.debug("Schedule Instance length for Scheduler Start>>"+resultList.length); async.parallel(resultList,function(err,results){ @@ -127,4 +133,21 @@ catalystSync.executeSerialScheduledTasks = function executeSerialScheduledTasks( return; } }); +} + +function cancelOldCronJobs(ids){ + if(ids.length > 0){ + var count = 0; + for(var i = 0; i < ids.length; i++){ + (function(id){ + count++; + cronTab.cancelJob(id); + })(ids[i]); + } + if(count === ids.length){ + return true; + } + }else{ + return true; + } } \ No newline at end of file diff --git a/server/app/model/audit-trail/bot-audit-trail.js b/server/app/model/audit-trail/bot-audit-trail.js index 47a958d87..215b90f61 100644 --- a/server/app/model/audit-trail/bot-audit-trail.js +++ b/server/app/model/audit-trail/bot-audit-trail.js @@ -54,6 +54,10 @@ var BotAuditTrailSchema = new BaseAuditTrail({ type: String, trim:true }, + manualExecutionTime:{ + type: Number, + required: false + }, nodeIdsWithActionLog:[Schema.Types.Mixed] } }); diff --git a/server/app/routes/v1.0/routes_blueprints.js b/server/app/routes/v1.0/routes_blueprints.js index 90b9d8d13..08e511a5c 100755 --- a/server/app/routes/v1.0/routes_blueprints.js +++ b/server/app/routes/v1.0/routes_blueprints.js @@ -428,6 +428,7 @@ module.exports.setRoutes = function(app, sessionVerificationFunc) { description:blueprint.shortDesc, category:blueprint.botCategory, executionType:blueprint.blueprintType, + manualExecutionTime:blueprint.manualExecutionTime, nodeIdsWithActionLog:[] }; blueprint.envId= req.query.envId; diff --git a/server/app/routes/v1.0/routes_fileUpload.js b/server/app/routes/v1.0/routes_fileUpload.js index 951b61f16..3d3ff4a62 100644 --- a/server/app/routes/v1.0/routes_fileUpload.js +++ b/server/app/routes/v1.0/routes_fileUpload.js @@ -38,7 +38,9 @@ module.exports.setRoutes = function(app, sessionVerificationFunc) { } res.send({fileId:fileData}); }) - } else { + } else if(req.query.fileId !== '' && req.query.fileId !== null) { + res.send({fileId:req.query.fileId}); + } else{ res.send({message: "Bad Request"}); } }); diff --git a/server/app/services/auditTrailService.js b/server/app/services/auditTrailService.js index bca9cdbac..be0df8c7e 100644 --- a/server/app/services/auditTrailService.js +++ b/server/app/services/auditTrailService.js @@ -235,9 +235,10 @@ auditTrailService.getBOTsSummary = function getBOTsSummary(callback){ for(var i = 0; i < botAuditTrail.length; i++){ (function(auditTrail){ count++; - if(auditTrail.endedOn && auditTrail.endedOn !== null && auditTrail.actionStatus !== 'failed') { + if(auditTrail.endedOn && auditTrail.endedOn !== null && auditTrail.actionStatus !== 'failed' + && auditTrail.auditTrailConfig.manualExecutionTime && auditTrail.auditTrailConfig.manualExecutionTime !== null) { var executionTime = getExecutionTime(auditTrail.endedOn, auditTrail.startedOn); - totalTimeInSeconds = totalTimeInSeconds + (600 - executionTime); + totalTimeInSeconds = totalTimeInSeconds + ((auditTrail.auditTrailConfig.manualExecutionTime*60) - executionTime); } })(botAuditTrail[i]); } diff --git a/server/app/services/taskService.js b/server/app/services/taskService.js index 49dad8912..6e057995e 100644 --- a/server/app/services/taskService.js +++ b/server/app/services/taskService.js @@ -153,7 +153,7 @@ taskService.executeTask = function executeTask(taskId, user, hostProtocol, choic var auditTrailId = null; var taskExecutionCount = 0; if(task.executionCount){ - taskExecutionCount = task.taskExecutionCount + 1 + taskExecutionCount = task.executionCount + 1 }else{ taskExecutionCount = 1; } @@ -178,6 +178,7 @@ taskService.executeTask = function executeTask(taskId, user, hostProtocol, choic description:task.shortDesc, category:task.botCategory, executionType:task.taskType, + manualExecutionTime:task.manualExecutionTime, nodeIdsWithActionLog:[] }; auditTrailService.insertAuditTrail(task,auditTrailObj,actionObj,function(err,data) {