/*
* 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', '$stateParams', '$window', '$sce',
'$uibModal', 'testapiApiUrl', 'raiseAlert', 'ngDialog', '$scope'
];
function ApplicationController ($http, $stateParams, $window, $sce,
$uibModal, testapiApiUrl, raiseAlert, ngDialog, $scope) {
var ctrl = this;
ctrl.uploadLogo = uploadLogo;
function init() {
ctrl.organization_name = null;
ctrl.organization_web = null;
ctrl.product_name = null;
ctrl.product_spec = null;
ctrl.product_documentation = null;
ctrl.product_categories = "soft&hard";
ctrl.prim_name = null;
ctrl.prim_email = null;
ctrl.prim_address = null;
ctrl.prim_phone = null;
ctrl.description = null;
ctrl.sut_version = null;
ctrl.sut_hw_version = null;
ctrl.ovp_version = "2018.01";
ctrl.ovp_category = "Infrastructure";
ctrl.company_logo = null;
ctrl.approve_date = null;
ctrl.approved = "false";
ctrl.test_id = null;
ctrl.lab_location = "internal";
ctrl.lab_name = null;
ctrl.lab_email = null;
ctrl.lab_address = null;
ctrl.lab_phone = null;
ctrl.applications = [];
ctrl.showApplications = [];
ctrl.totalItems = null;
ctrl.currentPage = 1;
ctrl.itemsPerPage = 5;
ctrl.numPages = null;
ctrl.lab_tpl = "lab.tpl.html";
ctrl.product_tpl = "product.tpl.html";
//ctrl.lab_html=$sce.trustAsHtml('
{{app.lab_email}}
{{app.lab_address}}
{{app.lab_phone}}
');
getApplication();
}
ctrl.submitForm = function() {
var data = {
"organization_name": ctrl.organization_name,
"organization_web": ctrl.organization_web,
"product_name": ctrl.product_name,
"product_spec": ctrl.product_spec,
"product_documentation": ctrl.product_documentation,
"product_categories": ctrl.product_categories,
"prim_name": ctrl.prim_name,
"prim_email": ctrl.prim_email,
"prim_address": ctrl.prim_address,
"prim_phone": ctrl.prim_phone,
"description": ctrl.description,
"sut_version": ctrl.sut_version,
"sut_hw_version": ctrl.sut_hw_version,
"ovp_version": ctrl.ovp_version,
"ovp_category": ctrl.ovp_category,
"company_logo": ctrl.company_logo,
"approve_date": ctrl.approve_date,
"approved": ctrl.approved,
"test_id": ctrl.test_id,
"lab_location": ctrl.lab_location,
"lab_email": ctrl.lab_email,
"lab_address": ctrl.lab_address,
"lab_phone": ctrl.lab_phone
};
$http.post(testapiApiUrl + "/cvp/applications", data).then(function(resp) {
if (resp.data.code && resp.data.code != 0) {
alert(resp.data.msg);
return;
}
getApplication();
}, function(error) {
});
}
ctrl.openConfirmModal = function() {
var resp = confirm("Are you sure to submit?");
if (resp) {
ctrl.submitForm();
}
}
ctrl.cancelSubmit = function() {
ngDialog.close();
}
ctrl.updatePage = function() {
getApplication();
}
ctrl.deleteApp = function(id) {
var resp = confirm('Are you sure 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();
});
}
function uploadLogo() {
var file = $scope.logoFile;
var fd = new FormData();
fd.append('file', file);
$http.post(testapiApiUrl + "/cvp/applications/uploadlogo", fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
}).then(function(resp) {
if (resp.data.code && resp.data.code != 0) {
alert(resp.data.msg);
return;
}
}, function(error) {
});
};
function getApplication() {
$http.get(testapiApiUrl + "/cvp/applications?page=" + ctrl.currentPage + "&signed&per_page=" + ctrl.itemsPerPage).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) {
});
}
init();
}
})();