aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/webapp/app/vid/scripts/modals/change-management-manual-tasks-controller/change-management-manual-tasks.controller.js
blob: daf593e300617652fb4b1aa46183f6c5593388a6 (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
(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) {
            MsoService.getManualTasks(requestId)
                .then(function(response) {
                    vm.task = response.data[0];
                    vm.manualTasks = vm.task && vm.task.validResponses;
                })
                .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);
        };

        init();
    }
})();