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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
/*
* 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.
*/
(function () {
'use strict';
angular
.module('testapiApp')
.controller('ApplicationController', ApplicationController);
ApplicationController.$inject = [
'$http', '$state', '$stateParams', '$window', '$sce',
'$uibModal', 'testapiApiUrl', 'raiseAlert', 'ngDialog', '$scope'
];
/**
*/
function ApplicationController($http, $state, $stateParams, $window, $sce,
$uibModal, testapiApiUrl, raiseAlert, ngDialog, $scope) {
var ctrl = this;
/** Check to see if this page should display community results. */
ctrl.isAdministrator = $scope.auth.currentUser.role.indexOf('administrator') != -1;
// Should only be on user-results-page if authenticated.
if (!$scope.auth.isAuthenticated) {
$state.go('home');
}
// Should only be on applications if administrator
if (!ctrl.isAdministrator) {
$state.go('home');
}
function init() {
ctrl.applications = [];
ctrl.totalItems = null;
ctrl.currentPage = 1;
ctrl.itemsPerPage = 5;
ctrl.numPages = null;
ctrl.lab_tpl = "lab.tpl.html";
ctrl.product_tpl = "product.tpl.html";
getApplication();
}
ctrl.updatePage = function() {
getApplication();
}
ctrl.deleteApp = function(id) {
var resp = confirm('Are you sure you want to delete this application?');
if (!resp)
return;
var delUrl = testapiApiUrl + "/cvp/applications/" + id;
$http.delete(delUrl)
.then(function(ret) {
if (ret.data.code && ret.data.code != 0) {
alert(ret.data.msg);
return;
}
getApplication();
});
}
ctrl.toggleApproveApp = function(id, approved, owner) {
if (approved === 'true') {
var text = 'Are you sure you want to approve this application?';
} else {
var text = 'Are you sure you want to remove approval of this application?';
}
var resp = confirm(text);
if (!resp)
return;
var updateUrl = testapiApiUrl + "/cvp/applications/" + id;
var data = {};
data['item'] = 'approved';
data['approved'] = approved;
data['owner'] = owner;
$http.put(updateUrl, JSON.stringify(data), {
transformRequest: angular.identity,
headers: {'Content-Type': 'application/json'}}).then(function(ret) {
if (ret.data.code && ret.data.code != 0) {
alert(ret.data.msg);
return;
}
getApplication();
}, function(error) {
alert('Error when update data');
});
}
function getApplication() {
$http.get(testapiApiUrl + "/onap/cvp/applications?page=" + ctrl.currentPage + "&signed&per_page=" + ctrl.itemsPerPage + "&applications").then(function(response) {
ctrl.applications = response.data.applications;
ctrl.totalItems = response.data.pagination.total_pages * ctrl.itemsPerPage;
ctrl.currentPage = response.data.pagination.current_page;
ctrl.numPages = response.data.pagination.total_pages;
}, function(error) {
/* do nothing */
});
}
init();
}
})();
|