4 appDS2.controller("changeManagementController", ["$uibModal", "changeManagementService", "_", "$log", "SchedulerService", "$filter", "VIDCONFIGURATION", changeManagementController]);
6 function changeManagementController($uibModal, changeManagementService, _, $log, SchedulerService, $filter, VIDCONFIGURATION) {
9 vm.lastTimeUpdated = "";
10 vm.hasScheduler = !!VIDCONFIGURATION.SCHEDULER_PORTAL_URL;
13 vm.init = function() {
14 vm.lastTimeUpdated = $filter('date')(new Date(), "MM/dd/yyyy | HH:mm:ss");
15 loadMSOChangeManagements();
16 loadSchedulerChangeManagements();
19 var fuseMsoAndSchedulerTaks = function() {
20 if (vm.changeManagements && vm.pendingChangeManagements) {
21 var requestIdToVnfName = {}
22 vm.pendingChangeManagements.forEach(function(schedulerItem) {
23 if (schedulerItem.msoRequestId && schedulerItem.vnfName) {
24 requestIdToVnfName[schedulerItem.msoRequestId] = schedulerItem.vnfName;
27 $log.debug("requestIdToVnfName", requestIdToVnfName);
29 vm.changeManagements = vm.changeManagements.map(function(msoItem) {
30 msoItem['vnfNameFromScheduler'] = requestIdToVnfName[msoItem.requestId];
36 var loadMSOChangeManagements = function() {
37 changeManagementService.getMSOChangeManagements()
38 .then(function(response) {
39 vm.changeManagements = response.data;
42 fuseMsoAndSchedulerTaks();
44 .catch(function (error) {
49 var loadSchedulerChangeManagements = function() {
50 changeManagementService.getSchedulerChangeManagements()
51 .then(function(response) {
52 vm.pendingChangeManagements = response.data;
53 _.forEach(vm.pendingChangeManagements, function(changeManagement) {
54 var callbackData = _.filter(changeManagement.scheduleRequest.domainData, {name: "WorkflowName"});
58 parsedModel = callbackData[0].value;
60 $log.error(exception);
63 changeManagement.workflow = parsedModel;
68 fuseMsoAndSchedulerTaks();
70 .catch(function(error) {
75 vm.createNewChange = function() {
76 vm.closeCurrentModalIfOpen();
77 var modalInstance = $uibModal.open({
78 templateUrl: 'app/vid/scripts/modals/new-change-management/new-change-management.html',
79 controller: 'newChangeManagementModalController',
84 vm.currModal = modalInstance;
86 modalInstance.result.then(function (result) {
87 console.log("This is the result of the new change management modal.", result);
91 vm.searchChanges = function() {
92 console.log("function for searching changes: " + vm.searchChangesTerm)
96 vm.openManualTasksPopup = function($event, jobInfo, templateUrl, message) {
98 vm.closeCurrentModalIfOpen();
100 var modalInstance = $uibModal.open({
101 templateUrl: templateUrl,
102 controller: 'changeManagementManualTasksController',
106 appendTo: angular.element($event.currentTarget).parent(),
108 jobInfo: function () {
114 modalInstance.result.then(function (result) {
115 console.log(message, result);
118 vm.currModal = modalInstance;
121 vm.openFailedModal = function($event, jobInfo) {
122 vm.openManualTasksPopup($event, jobInfo,
123 'app/vid/scripts/modals/failed-change-management/failed-change-management.html',
124 "This is the result of the failed change management modal.")
127 vm.openInProgressModal = function($event, jobInfo) {
128 vm.openManualTasksPopup($event, jobInfo,
129 'app/vid/scripts/modals/in-progress-modal-management/in-progress-change-management.html',
130 "This is the result of the in progress change management modal.")
133 vm.openAlertModal = function($event, jobInfo) {
134 vm.openManualTasksPopup($event, jobInfo,
135 'app/vid/scripts/modals/alert-change-management/alert-change-management.html',
136 "This is the result of the alert change management modal.")
139 vm.openBasicAlertModal = function(jobInfo) {
140 vm.closeCurrentModalIfOpen();
141 var modalInstance = $uibModal.open({
142 templateUrl: 'app/vid/scripts/modals/alert-modal/alert-modal.html',
143 controller: 'alertModalController',
147 appendTo: angular.element(".jobs-table").eq(0),
149 jobInfo: function () {
154 vm.currModal = modalInstance;
156 modalInstance.result.then(function (result) {
157 console.log("This is the result of the alert change management modal.", result);
160 vm.openPendingModal = function($event, changeManagement) {
162 vm.closeCurrentModalIfOpen();
164 var modalInstance = $uibModal.open({
165 templateUrl: 'app/vid/scripts/modals/cancel-pending-workflow/cancel-pending-workflow.html',
166 controller: 'cancelPendingWorkflowController',
170 appendTo: angular.element($event.currentTarget).parent(),
172 changeManagement: function () {
173 return changeManagement;
178 vm.currModal = modalInstance;
180 modalInstance.result.then(function (result) {
183 SchedulerService.cancelScheduleRequest(changeManagement.scheduleRequest.scheduleId,
189 message: "Cancel workflow "+changeManagement.scheduleRequest.scheduleName+" succeeded."};
190 vm.openBasicAlertModal(jobInfo);
198 message: "Cancel workflow "+changeManagement.scheduleRequest.scheduleName+" failed due to an unexpected error."};
199 vm.openBasicAlertModal(jobInfo);
205 vm.isChangeManagementDeleted = function(changeManagement) {
206 return changeManagement.scheduleRequest.status!=='Deleted'
209 vm.closeCurrentModalIfOpen = function() {
210 if (vm.currModal != null) {
211 vm.currModal.close();