$scope.selectResource = function(resource) { var baseUrl = Util.getBaseHref() + 'KSC/customView.htm'; if (resource.name.indexOf(':') > 0) { $window.location.href = baseUrl + '?type=nodeSource&report=' + resource.name; } else { $window.location.href = baseUrl + '?type=node&report=' + resource.name; } };
bootbox.prompt('A requisition is required, please enter the name for a new requisition', function(foreignSource) { if (foreignSource) { RequisitionsService.addRequisition(foreignSource).then( function() { // success RequisitionsService.synchronizeRequisition(foreignSource, false).then( function() { growl.success('The requisition ' + foreignSource + ' has been created and synchronized.'); $scope.foreignSources.push(foreignSource); }, $scope.errorHandler ); }, $scope.errorHandler ); } else { window.location.href = Util.getBaseHref() + 'admin/opennms/index.jsp'; // TODO Is this the best way ? } });
.controller('KSCWizardCtrl', ['$scope', '$filter', '$http', '$window', 'growl', function($scope, $filter, $http, $window, growl) { $scope.resourceFilter = null; $scope.resources = []; $scope.filteredResources = []; $scope.pageSize = 10; $scope.maxSize = 5; $scope.totalItems = 0; $scope.reportSelected = null; $scope.reports = []; $scope.filteredReports = []; $scope.kscPageSize = 10; $scope.kscMaxSize = 5; $scope.kscTotalItems = 0; $scope.actionUrl = Util.getBaseHref() + 'KSC/formProcMain.htm'; $scope.reloadConfig = function() { bootbox.dialog({ message: 'Are you sure you want to do this?<br/>', title: 'Reload KSC Configuration', buttons: { reload: { label: 'Yes', className: 'btn-success', callback: function() { $http.put('rest/ksc/reloadConfig') .success(function() { growl.success('The configuration has been reloaded.'); }) .error(function(msg) { growl.error(msg); }); } }, main: { label: 'No', className: 'btn-danger' } } }); }; $scope.viewReport = function() { if ($scope.reportSelected === null) { growl.warning('Please select the report you want to view.'); return; } $window.location.href = $scope.actionUrl + '?report_action=View&report=' + $scope.reportSelected.id; }; $scope.customizeReport = function() { if ($scope.reportSelected === null) { growl.warning('Please select the report you want to customize.'); return; } $window.location.href = $scope.actionUrl + '?report_action=Customize&report=' + $scope.reportSelected.id; }; $scope.createReport = function() { $window.location.href = $scope.actionUrl + '?report_action=Create'; }; $scope.createReportFromExisting = function() { if ($scope.reportSelected === null) { growl.warning('Please select the report you want to copy.'); return; } $window.location.href = $scope.actionUrl + '?report_action=CreateFrom&report=' + $scope.reportSelected.id; }; $scope.deleteReport = function() { if ($scope.reportSelected === null) { growl.warning('Please select the report you want to delete.'); return; } $window.location.href = $scope.actionUrl + '?report_action=Delete&report=' + $scope.reportSelected.id; }; $scope.selectReport = function(id) { $scope.reportSelected = id; }; $scope.selectResource = function(resource) { var baseUrl = Util.getBaseHref() + 'KSC/customView.htm'; if (resource.name.indexOf(':') > 0) { $window.location.href = baseUrl + '?type=nodeSource&report=' + resource.name; } else { $window.location.href = baseUrl + '?type=node&report=' + resource.name; } }; $scope.updateResources = function() { $scope.currentPage = 1; $scope.totalItems = $scope.filteredResources.length; $scope.numPages = Math.ceil($scope.totalItems / $scope.pageSize); }; $scope.updateReports = function() { $scope.kscCurrentPage = 1; $scope.kscTotalItems = $scope.filteredReports.length; $scope.kscNumPages = Math.ceil($scope.kscTotalItems / $scope.kscPageSize); }; $http.get('rest/resources?depth=0').success(function(data) { $scope.resources = data.resource; $scope.filteredResources = angular.copy($scope.resources); $scope.updateResources(); }); $http.get('rest/ksc').success(function(data) { $scope.reports = data.kscReport; $scope.filteredReports = angular.copy($scope.reports); $scope.updateReports(); }); $scope.$watch('resourceFilter', function() { $scope.filteredResources = $filter('filter')($scope.resources, $scope.resourceFilter); $scope.updateResources(); }); $scope.$watch('reportFilter', function() { $scope.filteredReports = $filter('filter')($scope.reports, $scope.reportFilter); $scope.updateReports(); }); }]);