2 * Licensed under the Apache License, Version 2.0 (the "License");
3 * you may not use this file except in compliance with the License.
4 * You may obtain a copy of the License at
6 * http://www.apache.org/licenses/LICENSE-2.0
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
20 .controller('PodsController', PodsController);
22 PodsController.$inject = [
23 '$scope', '$http', '$filter', '$state', 'testapiApiUrl','raiseAlert'
27 * TestAPI Pods Controller
28 * This controller is for the '/pods' page where a user can browse
29 * through pods declared in TestAPI.
31 function PodsController($scope, $http, $filter, $state, testapiApiUrl,
34 ctrl.url = testapiApiUrl + '/pods';
39 ctrl.clearFilters = clearFilters;
41 ctrl.roles = ['community-ci', 'production-ci'];
42 ctrl.modes = ['metal', 'virtual'];
43 ctrl.createRequirements = [
44 {label: 'name', type: 'text', required: true},
45 {label: 'mode', type: 'select', selects: ctrl.modes},
46 {label: 'role', type: 'select', selects: ctrl.roles},
47 {label: 'details', type: 'textarea', required: false}
51 ctrl.role = 'community-ci';
55 ctrl.pageHeader = 'Pods';
56 ctrl.pageParagraph = 'This page is used to create or query pods.';
59 * This is called when the date filter calendar is opened. It
60 * does some event handling, and sets a scope variable so the UI
61 * knows which calendar was opened.
62 * @param {Object} $event - The Event object
63 * @param {String} openVar - Tells which calendar was opened
65 function open($event, openVar) {
66 $event.preventDefault();
67 $event.stopPropagation();
72 * This function will clear all filters and update the results
75 function clearFilters() {
80 * This will contact the TestAPI to create a new pod.
83 ctrl.showError = false;
86 var pods_url = ctrl.url;
94 $http.post(pods_url, body).error(function (error) {
95 ctrl.showError = true;
97 'Error creating the new pod from server: ' +
98 angular.toJson(error);
102 ctrl.showError = true;
103 ctrl.error = 'Name is missing.'
108 * This will contact the TestAPI to get a listing of declared pods.
111 ctrl.showError = false;
113 $http.get(ctrl.url).success(function (data) {
115 }).error(function (error) {
117 ctrl.showError = true;
119 'Error retrieving pods from server: ' +
120 angular.toJson(error);