All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.34.34.bed853b49cad62de1f58.js Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
webpackJsonp([34],{966:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(3);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactRouterBootstrap = __webpack_require__(17);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _utilPermissionsMixin = __webpack_require__(25);\n\nvar _utilPermissionsMixin2 = _interopRequireDefault(_utilPermissionsMixin);\n\nvar _routingRoutes = __webpack_require__(11);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _storesUsersUsersStore = __webpack_require__(88);\n\nvar _storesUsersUsersStore2 = _interopRequireDefault(_storesUsersUsersStore);\n\nvar _storesUsersRolesStore = __webpack_require__(80);\n\nvar _storesUsersRolesStore2 = _interopRequireDefault(_storesUsersRolesStore);\n\nvar _componentsCommonDataTable = __webpack_require__(187);\n\nvar _componentsCommonDataTable2 = _interopRequireDefault(_componentsCommonDataTable);\n\nvar _componentsCommonSpinner = __webpack_require__(19);\n\nvar _componentsCommonSpinner2 = _interopRequireDefault(_componentsCommonSpinner);\n\nvar UserList = _react2['default'].createClass({\n  displayName: 'UserList',\n\n  propTypes: {\n    currentUsername: _react2['default'].PropTypes.string.isRequired,\n    currentUser: _react2['default'].PropTypes.object.isRequired\n  },\n\n  mixins: [_utilPermissionsMixin2['default']],\n\n  getInitialState: function getInitialState() {\n    return {\n      users: undefined,\n      roles: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    this.loadUsers();\n    _storesUsersRolesStore2['default'].loadRoles().done(function (roles) {\n      _this.setState({ roles: roles.map(function (role) {\n          return role.name;\n        }) });\n    });\n  },\n  loadUsers: function loadUsers() {\n    var _this2 = this;\n\n    var promise = _storesUsersUsersStore2['default'].loadUsers();\n    promise.done(function (users) {\n      _this2.setState({\n        users: users\n      });\n    });\n  },\n  _hasAdminRole: function _hasAdminRole(user) {\n    return this.isPermitted(user.permissions, ['*']);\n  },\n  deleteUser: function deleteUser(username) {\n    var _this3 = this;\n\n    var promise = _storesUsersUsersStore2['default'].deleteUser(username);\n\n    promise.done(function () {\n      _this3.loadUsers();\n    });\n  },\n  _deleteUserFunction: function _deleteUserFunction(username) {\n    var _this4 = this;\n\n    return function () {\n      if (window.confirm('Do you really want to delete user ' + username + '?')) {\n        _this4.deleteUser(username);\n      }\n    };\n  },\n  _headerCellFormatter: function _headerCellFormatter(header) {\n    var formattedHeaderCell = undefined;\n\n    switch (header.toLocaleLowerCase()) {\n      case '':\n        formattedHeaderCell = _react2['default'].createElement(\n          'th',\n          { className: 'user-type' },\n          header\n        );\n        break;\n      case 'actions':\n        formattedHeaderCell = _react2['default'].createElement(\n          'th',\n          { className: 'actions' },\n          header\n        );\n        break;\n      default:\n        formattedHeaderCell = _react2['default'].createElement(\n          'th',\n          null,\n          header\n        );\n    }\n\n    return formattedHeaderCell;\n  },\n  _userInfoFormatter: function _userInfoFormatter(user) {\n    var rowClass = user.username === this.props.currentUsername ? 'active' : null;\n    var userBadge = null;\n    if (user.read_only) {\n      userBadge = _react2['default'].createElement(\n        'span',\n        null,\n        _react2['default'].createElement('i', { title: 'System User', className: 'fa fa-lock' })\n      );\n    }\n    if (user.external) {\n      userBadge = _react2['default'].createElement(\n        'span',\n        null,\n        _react2['default'].createElement('i', { title: 'LDAP User', className: 'fa fa-cloud' })\n      );\n    }\n\n    var roleBadges = user.roles.map(function (role) {\n      return _react2['default'].createElement(\n        'span',\n        { key: role, className: 'label label-' + (role === 'Admin' ? 'info' : 'default'), style: { marginRight: 5 } },\n        role\n      );\n    });\n\n    var actions = null;\n    if (!user.read_only) {\n      var deleteAction = _react2['default'].createElement(\n        'button',\n        { id: 'delete-user', type: 'button', className: 'btn btn-xs btn-primary', title: 'Delete user',\n          onClick: this._deleteUserFunction(user.username) },\n        'Delete'\n      );\n\n      var editAction = _react2['default'].createElement(\n        _reactRouterBootstrap.LinkContainer,\n        { to: _routingRoutes2['default'].SYSTEM.USERS.edit(user.username) },\n        _react2['default'].createElement(\n          _reactBootstrap.Button,\n          { bsStyle: 'info', bsSize: 'xs', title: 'Edit user ' + user.username },\n          'Edit'\n        )\n      );\n\n      actions = _react2['default'].createElement(\n        'div',\n        null,\n        this.isPermitted(this.props.currentUser.permissions, ['users:edit']) ? deleteAction : null,\n        ' ',\n        this.isPermitted(this.props.currentUser.permissions, ['users:edit:' + user.username]) ? editAction : null\n      );\n    }\n\n    return _react2['default'].createElement(\n      'tr',\n      { key: user.username, className: rowClass },\n      _react2['default'].createElement(\n        'td',\n        { className: 'centered' },\n        userBadge\n      ),\n      _react2['default'].createElement(\n        'td',\n        { className: 'limited' },\n        user.full_name\n      ),\n      _react2['default'].createElement(\n        'td',\n        { className: 'limited' },\n        user.username\n      ),\n      _react2['default'].createElement(\n        'td',\n        { className: 'limited' },\n        user.email\n      ),\n      _react2['default'].createElement(\n        'td',\n        null,\n        roleBadges\n      ),\n      _react2['default'].createElement(\n        'td',\n        null,\n        actions\n      )\n    );\n  },\n  render: function render() {\n    var filterKeys = ['username', 'full_name', 'email'];\n    var headers = ['', 'Name', 'Username', 'Email Address', 'Role', 'Actions'];\n\n    if (this.state.users && this.state.roles) {\n      return _react2['default'].createElement(\n        'div',\n        null,\n        _react2['default'].createElement(_componentsCommonDataTable2['default'], { id: 'user-list',\n          className: 'table-hover',\n          headers: headers,\n          headerCellFormatter: this._headerCellFormatter,\n          sortByKey: \"full_name\",\n          rows: this.state.users,\n          filterBy: 'role',\n          filterSuggestions: this.state.roles,\n          dataRowFormatter: this._userInfoFormatter,\n          filterLabel: 'Filter Users',\n          filterKeys: filterKeys })\n      );\n    }\n\n    return _react2['default'].createElement(_componentsCommonSpinner2['default'], null);\n  }\n});\n\nexports['default'] = UserList;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"UserList.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/users/UserList.jsx\n ** module id = 966\n ** module chunks = 34\n **/\n//# sourceURL=webpack:///./src/components/users/UserList.jsx?")},1040:function(module,exports,__webpack_require__){eval("/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-api/modules/index.js\"), RootInstanceProvider = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reflux = __webpack_require__(3);\n\nvar _reflux2 = _interopRequireDefault(_reflux);\n\nvar _reactBootstrap = __webpack_require__(2);\n\nvar _reactRouterBootstrap = __webpack_require__(17);\n\nvar _utilDocsHelper = __webpack_require__(16);\n\nvar _utilDocsHelper2 = _interopRequireDefault(_utilDocsHelper);\n\nvar _utilPermissionsMixin = __webpack_require__(25);\n\nvar _utilPermissionsMixin2 = _interopRequireDefault(_utilPermissionsMixin);\n\nvar _routingRoutes = __webpack_require__(11);\n\nvar _routingRoutes2 = _interopRequireDefault(_routingRoutes);\n\nvar _storesUsersCurrentUserStore = __webpack_require__(26);\n\nvar _storesUsersCurrentUserStore2 = _interopRequireDefault(_storesUsersCurrentUserStore);\n\nvar _componentsCommonPageHeader = __webpack_require__(43);\n\nvar _componentsCommonPageHeader2 = _interopRequireDefault(_componentsCommonPageHeader);\n\nvar _componentsSupportDocumentationLink = __webpack_require__(23);\n\nvar _componentsSupportDocumentationLink2 = _interopRequireDefault(_componentsSupportDocumentationLink);\n\nvar _componentsUsersUserList = __webpack_require__(966);\n\nvar _componentsUsersUserList2 = _interopRequireDefault(_componentsUsersUserList);\n\nvar UsersPage = _react2['default'].createClass({\n  displayName: 'UsersPage',\n\n  mixins: [_reflux2['default'].connect(_storesUsersCurrentUserStore2['default']), _utilPermissionsMixin2['default']],\n  render: function render() {\n    var permissions = this.state.currentUser.permissions;\n    // TODO: fix permission names\n    return _react2['default'].createElement(\n      'span',\n      null,\n      _react2['default'].createElement(\n        _componentsCommonPageHeader2['default'],\n        { title: 'User accounts', titleSize: 8, buttonSize: 4, buttonStyle: { textAlign: 'right', marginTop: '10px' } },\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Create as many users as you want next to the default administrator user here. You can also configure LDAP and make changes to already existing users.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          'Read more about user management in the ',\n          _react2['default'].createElement(_componentsSupportDocumentationLink2['default'], { page: _utilDocsHelper2['default'].PAGES.USERS_ROLES, text: 'documentation' }),\n          '.'\n        ),\n        _react2['default'].createElement(\n          'span',\n          null,\n          this.isPermitted(permissions, 'LDAP_EDIT') && _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].SYSTEM.LDAP.SETTINGS },\n            _react2['default'].createElement(\n              _reactBootstrap.Button,\n              { bsStyle: 'info' },\n              'Configure LDAP'\n            )\n          ),\n          ' ',\n          this.isPermitted(permissions, 'LDAPGROUPS_EDIT') && _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].SYSTEM.LDAP.GROUPS },\n            _react2['default'].createElement(\n              _reactBootstrap.Button,\n              { bsStyle: 'info' },\n              'LDAP Group Mapping'\n            )\n          ),\n          ' ',\n          this.isPermitted(permissions, 'USERS_CREATE') && _react2['default'].createElement(\n            _reactRouterBootstrap.LinkContainer,\n            { to: _routingRoutes2['default'].SYSTEM.USERS.CREATE },\n            _react2['default'].createElement(\n              _reactBootstrap.Button,\n              { bsStyle: 'success' },\n              'Add new user'\n            )\n          )\n        )\n      ),\n      _react2['default'].createElement(\n        _reactBootstrap.Row,\n        { className: 'content' },\n        _react2['default'].createElement(\n          _reactBootstrap.Col,\n          { md: 12 },\n          _react2['default'].createElement(_componentsUsersUserList2['default'], { currentUsername: this.state.currentUser.username, currentUser: this.state.currentUser })\n        )\n      )\n    );\n  }\n});\n\nexports['default'] = UsersPage;\nmodule.exports = exports['default'];\n\n/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"/var/lib/jenkins/jobs/graylog-release/workspace/target/checkout/graylog2-web-interface/node_modules/react-hot-loader/makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"UsersPage.jsx\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-hot-loader!./~/babel-loader!./src/pages/UsersPage.jsx\n ** module id = 1040\n ** module chunks = 34\n **/\n//# sourceURL=webpack:///./src/pages/UsersPage.jsx?./~/react-hot-loader!./~/babel-loader")}});




© 2015 - 2024 Weber Informatics LLC | Privacy Policy