LDAPModalCtrl.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. 'use strict';
  19. angular.module('ambariAdminConsole')
  20. .controller('LDAPModalCtrl',['$scope', 'LDAP', 'resourceType', '$modalInstance', 'uiAlert', function($scope, LDAP, resourceType, $modalInstance, uiAlert) {
  21. $scope.resourceType = resourceType;
  22. $scope.isConfigured = false;
  23. $scope.isDataLoaded = false;
  24. $scope.items = [
  25. ];
  26. LDAP.get(resourceType).then(function(data) {
  27. $scope.isConfigured = data['LDAP']['configured'];
  28. $scope.items = data['LDAP'][resourceType];
  29. $scope.isDataLoaded = true;
  30. }).catch(function(data) {
  31. uiAlert.danger(data.data.status, data.data.message);
  32. $modalInstance.dismiss();
  33. });
  34. $scope.sync = function() {
  35. if($scope.items){
  36. var itemsToSync = $scope.items.filter(function(item) {return item.selected}).map(function(item) {
  37. return item.name
  38. });
  39. LDAP.sync(resourceType, itemsToSync).then(function() {
  40. $modalInstance.close();
  41. }).catch(function(data) {
  42. uiAlert.danger(data.data.status, data.data.message);
  43. $modalInstance.close();
  44. });
  45. }
  46. };
  47. $scope.cancel = function() {
  48. $modalInstance.dismiss();
  49. };
  50. }]);