NavbarCtrl.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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('NavbarCtrl',['$scope', 'Cluster', '$location', 'uiAlert', 'ROUTES', 'LDAP', 'ConfirmationModal', function($scope, Cluster, $location, uiAlert, ROUTES, LDAP, ConfirmationModal) {
  21. $scope.cluster = null;
  22. Cluster.getStatus().then(function(cluster) {
  23. $scope.cluster = cluster;
  24. }).catch(function(data) {
  25. uiAlert.danger(data.status, data.message);
  26. });
  27. $scope.isActive = function(path) {
  28. var route = ROUTES;
  29. angular.forEach(path.split('.'), function(routeObj) {
  30. route = route[routeObj];
  31. });
  32. var r = new RegExp( route.url.replace(/(:\w+)/, '\\w+'));
  33. return r.test($location.path());
  34. };
  35. $scope.isLDAPConfigured = false;
  36. $scope.ldapData = {};
  37. LDAP.get().then(function(data) {
  38. $scope.ldapData = data.data;
  39. $scope.isLDAPConfigured = data.data['LDAP']['configured'];
  40. });
  41. $scope.syncLDAP = function() {
  42. ConfirmationModal.show('Sync LDAP', 'Are you sure you want to sync LDAP?').then(function() {
  43. LDAP.sync($scope.ldapData['LDAP'].groups, $scope.ldapData['LDAP'].users).then(function() {
  44. uiAlert.success('LDAP synced successful');
  45. }).catch(function(data) {
  46. uiAlert.danger(data.data.status, data.data.message);
  47. });
  48. });
  49. };
  50. }]);