summaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js
blob: c4f8f14a97fc9c04c9c35f0be08b21e26e31ad39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*-
 * ============LICENSE_START=======================================================
 * VID
 * ================================================================================
 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

(function () {
    'use strict';

    appDS2.controller("changeManagementManualTasksController", ["$uibModalInstance", "jobInfo", "MsoService", "COMPONENT",
        "$log", changeManagementManualTasksController]);

    function changeManagementManualTasksController($uibModalInstance, jobInfo, MsoService, COMPONENT, $log) {
        var vm = this;

        vm.manualTasks = [];
        vm.MANUAL_TASKS = COMPONENT.MANUAL_TASKS;
        var init = function() {
            vm.requestState = jobInfo.requestState;

            if (jobInfo && jobInfo.details) {
                vm.content = jobInfo.details;
            } else {
                vm.content = "The VNF change alerted due to unknown reason.";
            }

            loadAvailableTasks(jobInfo.job.requestId);

        };

        function loadAvailableTasks(requestId) {
            return MsoService.getManualTasks(requestId)
                .then(function(response) {
                    vm.task = response.data[0];
                    vm.manualTasks = vm.task && vm.task.validResponses;
                    vm.description = vm.task && vm.task.description || null;
                    vm.timeout = vm.task && vm.task.timeout || null;
                })
                .catch(function(error) {
                    $log.error(error);
                });
        }

        vm.completeTask = function(task) {
            MsoService.completeTask(vm.task.taskId, task)
                .then(function(response) {
                    vm.manualTasks = response.data;
                    $uibModalInstance.close(task + " action completed successfully.");
                })
                .catch(function(error) {
                    $uibModalInstance.close(task + " action failed.");
                    $log.error(error);
                });
        };

        vm.close = function () {
            $uibModalInstance.close();
        };

        vm.isTaskAvailable = function(task) {
            return vm.manualTasks.includes(task);
        };

        vm.__test_only__ = {
            loadAvailableTasks: loadAvailableTasks,
        };

        init();
    }
})();