Lemonldap-NG-Manager

 view release on metacpan or  search on metacpan

site/js-src/2ndfa.js  view on Meta::CPAN

    }
  }
};

hiddenAttributes = '_password';

// Attributes to group in session display
categories = {
  dateTitle: ['_utime', '_startTime', '_updateTime'],
  sfaTitle: ['_2fDevices']
};

// Menu entries
menu = {
  home: []
};

llapp = angular.module('llngSessionsExplorer', ['ui.tree', 'ui.bootstrap', 'llApp']);

// Main controller
llapp.controller('SessionsExplorerCtrl', [
  '$scope',
  '$translator',
  '$location',
  '$q',
  '$http',
  function($scope,
    $translator,
    $location,
    $q,
    $http) {
    var autoId,
      c,
      pathEvent,
      sessionType;
    $scope.links = links;
    $scope.menulinks = menulinks;
    $scope.staticPrefix = staticPrefix;
    $scope.scriptname = scriptname;
    $scope.formPrefix = formPrefix;
    $scope.availableLanguages = availableLanguages;
    $scope.waiting = true;
    $scope.showM = false;
    $scope.showT = true;
    $scope.data = [];
    $scope.currentScope = null;
    $scope.currentSession = null;
    $scope.menu = menu;
    $scope.searchString = '';
    $scope.sfatypes = {};
    // Import translations functions
    $scope.translateP = $translator.translateP;
    $scope.translate = $translator.translate;
    $scope.translateTitle = function(node) {
      return $translator.translateField(node,
        'title');
    };
    sessionType = 'persistent';
    // Handle menu items
    $scope.menuClick = function(button) {
      if (button.popup) {
        window.open(button.popup);
      } else {
        if (!button.action) {
          button.action = button.title;
        }
        switch (typeof button.action) {
          case 'function':
            button.action($scope.currentNode,
              $scope);
            $scope[button.action]();
            break;
          case 'string':
            $scope[button.action]();
            break;
          default:
            console.warn('Unknown action type', typeof button.action);
        }
      }
      return $scope.showM = false;
    };
    //# SESSIONS MANAGEMENT
    // Search 2FA sessions
    $scope.search2FA = function(clear) {
      if (clear) {
        $scope.searchString = '';
      }
      $scope.currentSession = null;
      $scope.data = [];
      return $scope.updateTree2('',
        $scope.data,
        0,
        0);
    };

    // Delete 2FA device
    $scope.delete2FA = function(type,
      epoch) {
      var e,
        i,
        items,
        len;
      items = document.querySelectorAll(`.data-${epoch}`);
      for (i = 0, len = items.length; i < len; i++) {
        e = items[i];
        e.remove();
      }
      $scope.waiting = true;
      $http['delete'](`${scriptname}sfa/${sessionType}/${$scope.currentSession.id}?type=${type}&epoch=${epoch}`).then(function(response) {
          return $scope.waiting = false;
        },
        function(resp) {
          return $scope.waiting = false;
        });
      return $scope.showT = false;
    };
    // Open node
    $scope.stoggle = function(scope) {
      var node;
      node = scope.$modelValue;
      if (node.nodes.length === 0) {
        $scope.updateTree(node.value,



( run in 0.993 second using v1.01-cache-2.11-cpan-364913b4093 )