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

web-interface.assets.37.746b58959a350aa1ebcf.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.6
Show newest version
{"version":3,"sources":["webpack:///37.746b58959a350aa1ebcf.js","webpack:///./src/components/users/RolesSelect.jsx","webpack:///./src/components/users/TimeoutInput.jsx","webpack:///./src/components/users/TimeoutUnitSelect.jsx","webpack:///./src/util/ValidationsUtils.js","webpack:///./src/pages/CreateUsersPage.jsx","webpack:///./src/components/users/NewUserForm.jsx"],"names":["webpackJsonp","1140","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","_propTypes","_propTypes2","_react","_react2","_MultiSelect","_MultiSelect2","RolesSelect","createClass","displayName","propTypes","userRoles","arrayOf","string","availableRoles","array","isRequired","onValueChange","func","getDefaultProps","getValue","this","refs","select","split","render","rolesValue","props","join","rolesOptions","map","role","name","label","createElement","ref","options","onChange","placeholder","1141","_reactBootstrap","_bootstrap","_TimeoutUnitSelect","_TimeoutUnitSelect2","TimeoutInput","controlSize","number","labelSize","getInitialState","unit","_estimateUnit","sessionTimeoutNever","Math","floor","state","timeout","session_timeout_unit","MS_DAY","MS_HOUR","MS_MINUTE","MS_SECOND","_onClick","evt","setState","target","checked","_notifyChange","_onChangeValue","_onChangeUnit","Input","type","id","labelClassName","wrapperClassName","help","Row","Col","sm","className","min","data-validate","disabled","1142","_extends","assign","i","arguments","length","source","key","prototype","hasOwnProperty","call","TimeoutUnitSelect","1143","ValidationsUtils","setFieldValidity","fieldElement","condition","message","setCustomValidity","1419","_Routes","_Routes2","_UserNotification","_UserNotification2","_StoreProvider","_StoreProvider2","_common","_NewUserForm","_NewUserForm2","RolesStore","getStore","UsersStore","CreateUsersPage","history","object","roles","undefined","componentDidMount","_this","loadRoles","then","_onSubmit","r","_this2","request","permissions","create","success","username","replaceState","SYSTEM","AUTHENTICATION","USERS","LIST","error","_onCancel","pushState","DocumentTitle","title","PageHeader","subpage","lg","onSubmit","onCancel","Spinner","1420","_RolesSelect","_RolesSelect2","_TimeoutInput","_TimeoutInput2","_ValidationsUtils","_ValidationsUtils2","NewUserForm","users","newRoles","loadUsers","_onUsernameChange","event","usernameField","getInputDOMNode","usernameExists","some","user","_onPasswordChange","passwordField","password","passwordConfirmField","password_repeat","preventDefault","result","keys","forEach","_onValueChange","rolesHelp","rolesAlert","includes","Alert","bsStyle","maxLength","required","autoFocus","minLength","TimezoneSelect","smOffset","Button","onClick"],"mappings":"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","file":"37.746b58959a350aa1ebcf.js","sourcesContent":["webpackJsonp([37],{\n\n/***/ 1140:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _MultiSelect = __webpack_require__(281);\n\nvar _MultiSelect2 = _interopRequireDefault(_MultiSelect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar RolesSelect = _react2.default.createClass({\n  displayName: 'RolesSelect',\n\n  propTypes: {\n    userRoles: _propTypes2.default.arrayOf(_propTypes2.default.string),\n    availableRoles: _propTypes2.default.array.isRequired,\n    onValueChange: _propTypes2.default.func\n  },\n  getDefaultProps: function getDefaultProps() {\n    return {\n      userRoles: []\n    };\n  },\n  getValue: function getValue() {\n    return this.refs.select.getValue().split(',');\n  },\n  render: function render() {\n    var rolesValue = this.props.userRoles.join(',');\n    var rolesOptions = this.props.availableRoles.map(function (role) {\n      return { value: role.name, label: role.name };\n    });\n    return _react2.default.createElement(_MultiSelect2.default, {\n      ref: 'select',\n      options: rolesOptions,\n      value: rolesValue,\n      onChange: this.props.onValueChange,\n      placeholder: 'Choose roles...'\n    });\n  }\n});\n\nexports.default = RolesSelect;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1141:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _bootstrap = __webpack_require__(47);\n\nvar _TimeoutUnitSelect = __webpack_require__(1142);\n\nvar _TimeoutUnitSelect2 = _interopRequireDefault(_TimeoutUnitSelect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TimeoutInput = _react2.default.createClass({\n  displayName: 'TimeoutInput',\n\n  propTypes: {\n    controlSize: _propTypes2.default.number,\n    labelSize: _propTypes2.default.number,\n    value: _propTypes2.default.number,\n    onChange: _propTypes2.default.func\n  },\n\n  getDefaultProps: function getDefaultProps() {\n    return {\n      value: 60 * 60 * 1000,\n      labelSize: 2,\n      controlSize: 10\n    };\n  },\n  getInitialState: function getInitialState() {\n    var unit = this._estimateUnit(this.props.value);\n    return {\n      sessionTimeoutNever: this.props.value ? this.props.value === -1 : false,\n      value: this.props.value ? Math.floor(this.props.value / unit) : 0,\n      unit: unit\n    };\n  },\n  getValue: function getValue() {\n    if (this.state.sessionTimeoutNever) {\n      return -1;\n    }\n    return this.refs.timeout.value * this.refs.session_timeout_unit.getValue();\n  },\n\n  MS_DAY: 24 * 60 * 60 * 1000,\n  MS_HOUR: 60 * 60 * 1000,\n  MS_MINUTE: 60 * 1000,\n  MS_SECOND: 1000,\n  _estimateUnit: function _estimateUnit(value) {\n    if (value === 0) {\n      return this.MS_SECOND;\n    }\n\n    if (value % this.MS_DAY === 0) {\n      return this.MS_DAY;\n    }\n\n    if (value % this.MS_HOUR === 0) {\n      return this.MS_HOUR;\n    }\n\n    if (value % this.MS_MINUTE === 0) {\n      return this.MS_MINUTE;\n    }\n\n    return this.MS_SECOND;\n  },\n  _onClick: function _onClick(evt) {\n    this.setState({ sessionTimeoutNever: evt.target.checked }, this._notifyChange);\n  },\n  _onChangeValue: function _onChangeValue(evt) {\n    this.setState({ value: evt.target.value }, this._notifyChange);\n  },\n  _onChangeUnit: function _onChangeUnit(evt) {\n    this.setState({ unit: evt.target.value }, this._notifyChange);\n  },\n  _notifyChange: function _notifyChange() {\n    if (typeof this.props.onChange === 'function') {\n      this.props.onChange(this.getValue());\n    }\n  },\n  render: function render() {\n    return _react2.default.createElement(\n      'span',\n      null,\n      _react2.default.createElement(_bootstrap.Input, { ref: 'session_timeout_never', type: 'checkbox', id: 'session-timeout-never', name: 'session_timeout_never',\n        labelClassName: 'col-sm-' + this.props.controlSize, wrapperClassName: 'col-sm-offset-' + this.props.labelSize + ' col-sm-' + this.props.controlSize,\n        label: 'Sessions do not time out', help: 'When checked sessions never time out due to inactivity.',\n        onChange: this._onClick, checked: this.state.sessionTimeoutNever }),\n      _react2.default.createElement(\n        _bootstrap.Input,\n        { label: 'Timeout',\n          help: 'Session automatically end after this amount of time, unless they are actively used.',\n          labelClassName: 'col-sm-' + this.props.labelSize, wrapperClassName: 'col-sm-' + this.props.controlSize },\n        _react2.default.createElement(\n          _reactBootstrap.Row,\n          null,\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { sm: 2 },\n            _react2.default.createElement('input', { ref: 'timeout', type: 'number', id: 'timeout',\n              className: 'session-timeout-fields validatable form-control',\n              name: 'timeout', min: 1, 'data-validate': 'positive_number', disabled: this.state.sessionTimeoutNever,\n              value: this.state.value, onChange: this._onChangeValue })\n          ),\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { sm: 3 },\n            _react2.default.createElement(_TimeoutUnitSelect2.default, { ref: 'session_timeout_unit', className: 'form-control session-timeout-fields',\n              disabled: this.state.sessionTimeoutNever,\n              value: this.state.unit, onChange: this._onChangeUnit })\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = TimeoutInput;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1142:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TimeoutUnitSelect = _react2.default.createClass({\n  displayName: \"TimeoutUnitSelect\",\n  getValue: function getValue() {\n    return this.refs.session_timeout_unit.value;\n  },\n  render: function render() {\n    return _react2.default.createElement(\n      \"select\",\n      _extends({ className: \"form-control\", ref: \"session_timeout_unit\" }, this.props),\n      _react2.default.createElement(\n        \"option\",\n        { value: 1000 },\n        \"Seconds\"\n      ),\n      _react2.default.createElement(\n        \"option\",\n        { value: 60 * 1000 },\n        \"Minutes\"\n      ),\n      _react2.default.createElement(\n        \"option\",\n        { value: 60 * 60 * 1000 },\n        \"Hours\"\n      ),\n      _react2.default.createElement(\n        \"option\",\n        { value: 24 * 60 * 60 * 1000 },\n        \"Days\"\n      )\n    );\n  }\n});\n\nexports.default = TimeoutUnitSelect;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n\n/***/ 1143:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar ValidationsUtils = {\n  setFieldValidity: function setFieldValidity(fieldElement, condition, message) {\n    // Return if browser does not support setCustomValidity\n    if (typeof fieldElement.setCustomValidity !== 'function') {\n      return;\n    }\n\n    fieldElement.setCustomValidity(condition ? message : '');\n  }\n};\n\nexports.default = ValidationsUtils;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1419:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _Routes = __webpack_require__(76);\n\nvar _Routes2 = _interopRequireDefault(_Routes);\n\nvar _UserNotification = __webpack_require__(6);\n\nvar _UserNotification2 = _interopRequireDefault(_UserNotification);\n\nvar _StoreProvider = __webpack_require__(23);\n\nvar _StoreProvider2 = _interopRequireDefault(_StoreProvider);\n\nvar _common = __webpack_require__(46);\n\nvar _NewUserForm = __webpack_require__(1420);\n\nvar _NewUserForm2 = _interopRequireDefault(_NewUserForm);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar RolesStore = _StoreProvider2.default.getStore('Roles');\nvar UsersStore = _StoreProvider2.default.getStore('Users');\n\nvar CreateUsersPage = _react2.default.createClass({\n  displayName: 'CreateUsersPage',\n\n\n  propTypes: {\n    history: _propTypes2.default.object\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      roles: undefined\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    RolesStore.loadRoles().then(function (roles) {\n      _this.setState({ roles: roles });\n    });\n  },\n  _onSubmit: function _onSubmit(r) {\n    var _this2 = this;\n\n    var request = r;\n    request.permissions = [];\n    delete request['session-timeout-never'];\n    UsersStore.create(request).then(function () {\n      _UserNotification2.default.success('User ' + request.username + ' was created successfully.', 'Success!');\n      _this2.props.history.replaceState(null, _Routes2.default.SYSTEM.AUTHENTICATION.USERS.LIST);\n    }, function () {\n      _UserNotification2.default.error('Failed to create user!', 'Error!');\n    });\n  },\n  _onCancel: function _onCancel() {\n    this.props.history.pushState(null, _Routes2.default.SYSTEM.AUTHENTICATION.USERS.LIST);\n  },\n  render: function render() {\n    if (!this.state.roles) {\n      return _react2.default.createElement(_common.Spinner, null);\n    }\n    return _react2.default.createElement(\n      _common.DocumentTitle,\n      { title: 'Create new user' },\n      _react2.default.createElement(\n        'span',\n        null,\n        _react2.default.createElement(\n          _common.PageHeader,\n          { title: 'Create new user', subpage: true },\n          _react2.default.createElement(\n            'span',\n            null,\n            'Use this page to create new Graylog users. The users and their permissions created here are not limited to the web interface but valid and required for the REST APIs of your Graylog server nodes, too.'\n          )\n        ),\n        _react2.default.createElement(\n          _reactBootstrap.Row,\n          null,\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { lg: 8 },\n            _react2.default.createElement(_NewUserForm2.default, { roles: this.state.roles, onSubmit: this._onSubmit, onCancel: this._onCancel })\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = CreateUsersPage;\nmodule.exports = exports['default'];\n\n/***/ }),\n\n/***/ 1420:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _propTypes = __webpack_require__(5);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(2);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactBootstrap = __webpack_require__(16);\n\nvar _bootstrap = __webpack_require__(47);\n\nvar _RolesSelect = __webpack_require__(1140);\n\nvar _RolesSelect2 = _interopRequireDefault(_RolesSelect);\n\nvar _TimeoutInput = __webpack_require__(1141);\n\nvar _TimeoutInput2 = _interopRequireDefault(_TimeoutInput);\n\nvar _common = __webpack_require__(46);\n\nvar _StoreProvider = __webpack_require__(23);\n\nvar _StoreProvider2 = _interopRequireDefault(_StoreProvider);\n\nvar _ValidationsUtils = __webpack_require__(1143);\n\nvar _ValidationsUtils2 = _interopRequireDefault(_ValidationsUtils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar UsersStore = _StoreProvider2.default.getStore('Users');\n\nvar NewUserForm = _react2.default.createClass({\n  displayName: 'NewUserForm',\n\n  propTypes: {\n    roles: _propTypes2.default.array.isRequired,\n    onSubmit: _propTypes2.default.func.isRequired,\n    onCancel: _propTypes2.default.func.isRequired\n  },\n\n  getInitialState: function getInitialState() {\n    return {\n      users: [],\n      newRoles: null\n    };\n  },\n  componentDidMount: function componentDidMount() {\n    var _this = this;\n\n    UsersStore.loadUsers().then(function (users) {\n      _this.setState({ users: users });\n    });\n  },\n  _onUsernameChange: function _onUsernameChange(event) {\n    var usernameField = this.refs.username.getInputDOMNode();\n    var usernameExists = this.state.users.some(function (user) {\n      return user.username === event.target.value;\n    });\n\n    _ValidationsUtils2.default.setFieldValidity(usernameField, usernameExists, 'Username is already taken');\n  },\n  _onPasswordChange: function _onPasswordChange() {\n    var passwordField = this.refs.password;\n    var passwordConfirmField = this.refs.password_repeat;\n\n    if (passwordField.value !== '' && passwordConfirmField.value !== '') {\n      _ValidationsUtils2.default.setFieldValidity(passwordConfirmField, passwordField.value !== passwordConfirmField.value, 'Passwords do not match');\n    }\n  },\n  _onSubmit: function _onSubmit(evt) {\n    var _this2 = this;\n\n    evt.preventDefault();\n    var result = {};\n    Object.keys(this.refs).forEach(function (ref) {\n      if (ref !== 'password_repeat') {\n        result[ref] = _this2.refs[ref].getValue ? _this2.refs[ref].getValue() : _this2.refs[ref].value;\n      }\n    });\n\n    this.props.onSubmit(result);\n  },\n  _onValueChange: function _onValueChange(newRoles) {\n    var roles = newRoles.split(',');\n    this.setState({ newRoles: roles });\n  },\n  render: function render() {\n    var rolesHelp = _react2.default.createElement(\n      'span',\n      { className: 'help-block' },\n      'Assign the relevant roles to this user to grant them access to the relevant streams and dashboards.',\n      _react2.default.createElement('br', null),\n      'The ',\n      _react2.default.createElement(\n        'em',\n        null,\n        'Reader'\n      ),\n      ' role grants basic access to the system and will be enabled.',\n      _react2.default.createElement('br', null),\n      'The ',\n      _react2.default.createElement(\n        'em',\n        null,\n        'Admin'\n      ),\n      ' role grants access to everything in Graylog.'\n    );\n    var roles = this.state.newRoles;\n    var rolesAlert = null;\n    if (roles != null && !(roles.includes('Reader') || roles.includes('Admin'))) {\n      rolesAlert = _react2.default.createElement(\n        _reactBootstrap.Alert,\n        { bsStyle: 'danger', role: 'alert' },\n        'You need to select at least one of the ',\n        _react2.default.createElement(\n          'em',\n          null,\n          'Reader'\n        ),\n        ' or ',\n        _react2.default.createElement(\n          'em',\n          null,\n          'Admin'\n        ),\n        ' roles.'\n      );\n    }\n    return _react2.default.createElement(\n      'form',\n      { id: 'create-user-form', className: 'form-horizontal', onSubmit: this._onSubmit },\n      _react2.default.createElement(_bootstrap.Input, { ref: 'username', name: 'username', id: 'username', type: 'text', maxLength: 100,\n        labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10',\n        label: 'Username', help: 'Select a unique user name used to log in with.', required: true,\n        onChange: this._onUsernameChange, autoFocus: true }),\n      _react2.default.createElement(_bootstrap.Input, { ref: 'full_name', name: 'fullname', id: 'fullname', type: 'text', maxLength: 200,\n        labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10',\n        label: 'Full Name', help: 'Give a descriptive name for this account, e.g. the full name.', required: true }),\n      _react2.default.createElement(_bootstrap.Input, { ref: 'email', name: 'email', id: 'email', type: 'email', maxLength: 254,\n        labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10',\n        label: 'Email Address', help: 'Give the contact email address.', required: true }),\n      _react2.default.createElement(\n        _bootstrap.Input,\n        { label: 'Password',\n          help: 'Passwords must be at least 6 characters long. We recommend using a strong password.',\n          labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10' },\n        _react2.default.createElement(\n          _reactBootstrap.Row,\n          null,\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { sm: 6 },\n            _react2.default.createElement('input', { className: 'form-control', ref: 'password', name: 'password', id: 'password', type: 'password',\n              placeholder: 'Password', required: true, minLength: '6', onChange: this._onPasswordChange })\n          ),\n          _react2.default.createElement(\n            _reactBootstrap.Col,\n            { sm: 6 },\n            _react2.default.createElement('input', { className: 'form-control', ref: 'password_repeat', id: 'password-repeat', type: 'password',\n              placeholder: 'Repeat password', required: true, minLength: '6', onChange: this._onPasswordChange })\n          )\n        )\n      ),\n      _react2.default.createElement(\n        _bootstrap.Input,\n        { label: 'Roles', help: rolesHelp,\n          labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10' },\n        _react2.default.createElement(_RolesSelect2.default, { ref: 'roles', availableRoles: this.props.roles, userRoles: ['Reader'],\n          className: 'form-control', onValueChange: this._onValueChange }),\n        rolesAlert\n      ),\n      _react2.default.createElement(_TimeoutInput2.default, { ref: 'session_timeout_ms' }),\n      _react2.default.createElement(\n        _bootstrap.Input,\n        { label: 'Time Zone', help: 'Choose the timezone to use to display times, or leave it as it is to use the system\\'s default.',\n          labelClassName: 'col-sm-2', wrapperClassName: 'col-sm-10' },\n        _react2.default.createElement(_common.TimezoneSelect, { ref: 'timezone', className: 'timezone-select' })\n      ),\n      _react2.default.createElement(\n        'div',\n        { className: 'form-group' },\n        _react2.default.createElement(\n          _reactBootstrap.Col,\n          { smOffset: 2, sm: 10 },\n          _react2.default.createElement(\n            _reactBootstrap.Button,\n            { type: 'submit', bsStyle: 'primary', className: 'create-user save-button-margin', disabled: !!rolesAlert },\n            'Create User'\n          ),\n          _react2.default.createElement(\n            _reactBootstrap.Button,\n            { onClick: this.props.onCancel },\n            'Cancel'\n          )\n        )\n      )\n    );\n  }\n});\n\nexports.default = NewUserForm;\nmodule.exports = exports['default'];\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// 37.746b58959a350aa1ebcf.js","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport MultiSelect from 'components/common/MultiSelect';\n\nconst RolesSelect = React.createClass({\n  propTypes: {\n    userRoles: PropTypes.arrayOf(PropTypes.string),\n    availableRoles: PropTypes.array.isRequired,\n    onValueChange: PropTypes.func,\n  },\n  getDefaultProps() {\n    return {\n      userRoles: [],\n    };\n  },\n  getValue() {\n    return this.refs.select.getValue().split(',');\n  },\n  render() {\n    const rolesValue = this.props.userRoles.join(',');\n    const rolesOptions = this.props.availableRoles.map((role) => {\n      return { value: role.name, label: role.name };\n    });\n    return (\n      \n    );\n  },\n});\n\nexport default RolesSelect;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/users/RolesSelect.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Row, Col } from 'react-bootstrap';\n\nimport { Input } from 'components/bootstrap';\nimport TimeoutUnitSelect from 'components/users/TimeoutUnitSelect';\n\nconst TimeoutInput = React.createClass({\n  propTypes: {\n    controlSize: PropTypes.number,\n    labelSize: PropTypes.number,\n    value: PropTypes.number,\n    onChange: PropTypes.func,\n  },\n\n  getDefaultProps() {\n    return {\n      value: 60 * 60 * 1000,\n      labelSize: 2,\n      controlSize: 10,\n    };\n  },\n  getInitialState() {\n    const unit = this._estimateUnit(this.props.value);\n    return {\n      sessionTimeoutNever: (this.props.value ? this.props.value === -1 : false),\n      value: (this.props.value ? Math.floor(this.props.value / unit) : 0),\n      unit: unit,\n    };\n  },\n  getValue() {\n    if (this.state.sessionTimeoutNever) {\n      return -1;\n    }\n    return (this.refs.timeout.value * this.refs.session_timeout_unit.getValue());\n  },\n  MS_DAY: 24 * 60 * 60 * 1000,\n  MS_HOUR: 60 * 60 * 1000,\n  MS_MINUTE: 60 * 1000,\n  MS_SECOND: 1000,\n  _estimateUnit(value) {\n    if (value === 0) {\n      return this.MS_SECOND;\n    }\n\n    if (value % this.MS_DAY === 0) {\n      return this.MS_DAY;\n    }\n\n    if (value % this.MS_HOUR === 0) {\n      return this.MS_HOUR;\n    }\n\n    if (value % this.MS_MINUTE === 0) {\n      return this.MS_MINUTE;\n    }\n\n    return this.MS_SECOND;\n  },\n  _onClick(evt) {\n    this.setState({ sessionTimeoutNever: evt.target.checked }, this._notifyChange);\n  },\n  _onChangeValue(evt) {\n    this.setState({ value: evt.target.value }, this._notifyChange);\n  },\n  _onChangeUnit(evt) {\n    this.setState({ unit: evt.target.value }, this._notifyChange);\n  },\n  _notifyChange() {\n    if (typeof this.props.onChange === 'function') {\n      this.props.onChange(this.getValue());\n    }\n  },\n  render() {\n    return (\n      \n        \n\n        \n          \n            \n              \n            \n            \n              \n            \n          \n        \n      \n    );\n  },\n});\n\nexport default TimeoutInput;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/users/TimeoutInput.jsx","\nimport React from 'react';\n\nconst TimeoutUnitSelect = React.createClass({\n  getValue() {\n    return this.refs.session_timeout_unit.value;\n  },\n  render() {\n    return (\n      \n    );\n  },\n});\n\nexport default TimeoutUnitSelect;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/users/TimeoutUnitSelect.jsx","const ValidationsUtils = {\n  setFieldValidity(fieldElement, condition, message) {\n    // Return if browser does not support setCustomValidity\n    if (typeof fieldElement.setCustomValidity !== 'function') {\n      return;\n    }\n\n    fieldElement.setCustomValidity(condition ? message : '');\n  },\n};\n\nexport default ValidationsUtils;\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/ValidationsUtils.js","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Row, Col } from 'react-bootstrap';\nimport Routes from 'routing/Routes';\n\nimport UserNotification from 'util/UserNotification';\n\nimport StoreProvider from 'injection/StoreProvider';\nconst RolesStore = StoreProvider.getStore('Roles');\nconst UsersStore = StoreProvider.getStore('Users');\n\nimport { DocumentTitle, PageHeader, Spinner } from 'components/common';\nimport NewUserForm from 'components/users/NewUserForm';\n\nconst CreateUsersPage = React.createClass({\n\n  propTypes: {\n    history: PropTypes.object,\n  },\n\n  getInitialState() {\n    return {\n      roles: undefined,\n    };\n  },\n\n  componentDidMount() {\n    RolesStore.loadRoles().then((roles) => {\n      this.setState({ roles: roles });\n    });\n  },\n\n  _onSubmit(r) {\n    const request = r;\n    request.permissions = [];\n    delete request['session-timeout-never'];\n    UsersStore.create(request).then(() => {\n      UserNotification.success(`User ${request.username} was created successfully.`, 'Success!');\n      this.props.history.replaceState(null, Routes.SYSTEM.AUTHENTICATION.USERS.LIST);\n    }, () => {\n      UserNotification.error('Failed to create user!', 'Error!');\n    });\n  },\n\n  _onCancel() {\n    this.props.history.pushState(null, Routes.SYSTEM.AUTHENTICATION.USERS.LIST);\n  },\n\n  render() {\n    if (!this.state.roles) {\n      return ;\n    }\n    return (\n      \n        \n          \n            \n              Use this page to create new Graylog users. The users and their permissions created here are not limited\n              to the web interface but valid and required for the REST APIs of your Graylog server nodes, too.\n            \n          \n          \n            \n              \n            \n          \n        \n      \n    );\n  },\n});\n\nexport default CreateUsersPage;\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/CreateUsersPage.jsx","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Alert, Row, Col, Button } from 'react-bootstrap';\n\nimport { Input } from 'components/bootstrap';\nimport RolesSelect from 'components/users/RolesSelect';\nimport TimeoutInput from 'components/users/TimeoutInput';\nimport { TimezoneSelect } from 'components/common';\n\nimport StoreProvider from 'injection/StoreProvider';\nconst UsersStore = StoreProvider.getStore('Users');\n\nimport ValidationsUtils from 'util/ValidationsUtils';\n\nconst NewUserForm = React.createClass({\n  propTypes: {\n    roles: PropTypes.array.isRequired,\n    onSubmit: PropTypes.func.isRequired,\n    onCancel: PropTypes.func.isRequired,\n  },\n\n  getInitialState() {\n    return {\n      users: [],\n      newRoles: null,\n    };\n  },\n\n  componentDidMount() {\n    UsersStore.loadUsers().then((users) => {\n      this.setState({ users });\n    });\n  },\n\n  _onUsernameChange(event) {\n    const usernameField = this.refs.username.getInputDOMNode();\n    const usernameExists = this.state.users.some(user => user.username === event.target.value);\n\n    ValidationsUtils.setFieldValidity(usernameField, usernameExists, 'Username is already taken');\n  },\n\n  _onPasswordChange() {\n    const passwordField = this.refs.password;\n    const passwordConfirmField = this.refs.password_repeat;\n\n    if (passwordField.value !== '' && passwordConfirmField.value !== '') {\n      ValidationsUtils.setFieldValidity(passwordConfirmField, passwordField.value !== passwordConfirmField.value, 'Passwords do not match');\n    }\n  },\n\n  _onSubmit(evt) {\n    evt.preventDefault();\n    const result = {};\n    Object.keys(this.refs).forEach((ref) => {\n      if (ref !== 'password_repeat') {\n        result[ref] = (this.refs[ref].getValue ? this.refs[ref].getValue() : this.refs[ref].value);\n      }\n    });\n\n    this.props.onSubmit(result);\n  },\n\n  _onValueChange(newRoles) {\n    const roles = newRoles.split(',');\n    this.setState({ newRoles: roles });\n  },\n\n  render() {\n    const rolesHelp = (\n      \n        Assign the relevant roles to this user to grant them access to the relevant streams and dashboards.
\n The Reader role grants basic access to the system and will be enabled.
\n The Admin role grants access to everything in Graylog.\n
\n );\n const roles = this.state.newRoles;\n let rolesAlert = null;\n if (roles != null && !(roles.includes('Reader') || roles.includes('Admin'))) {\n rolesAlert = (\n You need to select at least one of the Reader or Admin roles.\n );\n }\n return (\n
\n \n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n {rolesAlert}\n \n\n \n\n \n \n \n\n
\n \n \n \n \n
\n \n );\n },\n});\n\nexport default NewUserForm;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/users/NewUserForm.jsx"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy