4938 lines
184 KiB
JavaScript
4938 lines
184 KiB
JavaScript
|
(window["webpackJsonpSettings"] = window["webpackJsonpSettings"] || []).push([[3],{
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList.vue":
|
||
|
/*!***************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList.vue ***!
|
||
|
\***************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserList.vue?vue&type=template&id=6cba3aca&scoped=true& */ "./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&");
|
||
|
/* harmony import */ var _UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserList.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport *//* harmony import */ var _UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& */ "./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&");
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* normalize component */
|
||
|
|
||
|
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
||
|
_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
|
||
|
_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||
|
_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||
|
false,
|
||
|
null,
|
||
|
"6cba3aca",
|
||
|
null
|
||
|
|
||
|
)
|
||
|
|
||
|
/* hot reload */
|
||
|
if (false) { var api; }
|
||
|
component.options.__file = "apps/settings/src/components/UserList.vue"
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&":
|
||
|
/*!****************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList.vue?vue&type=script&lang=js& ***!
|
||
|
\****************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib!../../../../node_modules/vue-loader/lib??vue-loader-options!./UserList.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&":
|
||
|
/*!************************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& ***!
|
||
|
\************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&");
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&":
|
||
|
/*!**********************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true& ***!
|
||
|
\**********************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./UserList.vue?vue&type=template&id=6cba3aca&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&");
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||
|
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRow.vue":
|
||
|
/*!***********************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRow.vue ***!
|
||
|
\***********************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserRow.vue?vue&type=template&id=77960baa&scoped=true& */ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&");
|
||
|
/* harmony import */ var _UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserRow.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport *//* harmony import */ var _UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& */ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&");
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* normalize component */
|
||
|
|
||
|
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
||
|
_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
|
||
|
_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||
|
_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||
|
false,
|
||
|
null,
|
||
|
"77960baa",
|
||
|
null
|
||
|
|
||
|
)
|
||
|
|
||
|
/* hot reload */
|
||
|
if (false) { var api; }
|
||
|
component.options.__file = "apps/settings/src/components/UserList/UserRow.vue"
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&":
|
||
|
/*!************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js& ***!
|
||
|
\************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRow.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&":
|
||
|
/*!*********************************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& ***!
|
||
|
\*********************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-style-loader!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&");
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&":
|
||
|
/*!******************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true& ***!
|
||
|
\******************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRow.vue?vue&type=template&id=77960baa&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&");
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||
|
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRowSimple.vue":
|
||
|
/*!*****************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRowSimple.vue ***!
|
||
|
\*****************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true& */ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true&");
|
||
|
/* harmony import */ var _UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserRowSimple.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport *//* harmony import */ var _UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& */ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&");
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* normalize component */
|
||
|
|
||
|
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
||
|
_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
|
||
|
_UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||
|
_UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||
|
false,
|
||
|
null,
|
||
|
"ff154a08",
|
||
|
null
|
||
|
|
||
|
)
|
||
|
|
||
|
/* hot reload */
|
||
|
if (false) { var api; }
|
||
|
component.options.__file = "apps/settings/src/components/UserList/UserRowSimple.vue"
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&":
|
||
|
/*!******************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js& ***!
|
||
|
\******************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRowSimple.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&":
|
||
|
/*!**************************************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& ***!
|
||
|
\**************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-style-loader!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&");
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_id_ff154a08_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true&":
|
||
|
/*!************************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true& ***!
|
||
|
\************************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true&");
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||
|
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_template_id_ff154a08_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/mixins/UserRowMixin.js":
|
||
|
/*!**************************************************!*\
|
||
|
!*** ./apps/settings/src/mixins/UserRowMixin.js ***!
|
||
|
\**************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
|
||
|
/**
|
||
|
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
||
|
*
|
||
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||
|
*
|
||
|
* @license GNU AGPL version 3 or any later version
|
||
|
*
|
||
|
* This program is free software: you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU Affero General Public License as
|
||
|
* published by the Free Software Foundation, either version 3 of the
|
||
|
* License, or (at your option) any later version.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU Affero General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU Affero General Public License
|
||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
*
|
||
|
*/
|
||
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
||
|
props: {
|
||
|
user: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
settings: {
|
||
|
type: Object,
|
||
|
default: function _default() {
|
||
|
return {};
|
||
|
}
|
||
|
},
|
||
|
groups: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
subAdminsGroups: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
quotaOptions: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
showConfig: {
|
||
|
type: Object,
|
||
|
default: function _default() {
|
||
|
return {};
|
||
|
}
|
||
|
},
|
||
|
languages: {
|
||
|
type: Array,
|
||
|
required: true
|
||
|
},
|
||
|
externalActions: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
computed: {
|
||
|
/* GROUPS MANAGEMENT */
|
||
|
userGroups: function userGroups() {
|
||
|
var _this = this;
|
||
|
|
||
|
var userGroups = this.groups.filter(function (group) {
|
||
|
return _this.user.groups.includes(group.id);
|
||
|
});
|
||
|
return userGroups;
|
||
|
},
|
||
|
userSubAdminsGroups: function userSubAdminsGroups() {
|
||
|
var _this2 = this;
|
||
|
|
||
|
var userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {
|
||
|
return _this2.user.subadmin.includes(group.id);
|
||
|
});
|
||
|
return userSubAdminsGroups;
|
||
|
},
|
||
|
availableGroups: function availableGroups() {
|
||
|
var _this3 = this;
|
||
|
|
||
|
return this.groups.map(function (group) {
|
||
|
// clone object because we don't want
|
||
|
// to edit the original groups
|
||
|
var groupClone = Object.assign({}, group); // two settings here:
|
||
|
// 1. user NOT in group but no permission to add
|
||
|
// 2. user is in group but no permission to remove
|
||
|
|
||
|
groupClone.$isDisabled = group.canAdd === false && !_this3.user.groups.includes(group.id) || group.canRemove === false && _this3.user.groups.includes(group.id);
|
||
|
return groupClone;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/* QUOTA MANAGEMENT */
|
||
|
usedSpace: function usedSpace() {
|
||
|
if (this.user.quota.used) {
|
||
|
return t('settings', '{size} used', {
|
||
|
size: OC.Util.humanFileSize(this.user.quota.used)
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return t('settings', '{size} used', {
|
||
|
size: OC.Util.humanFileSize(0)
|
||
|
});
|
||
|
},
|
||
|
usedQuota: function usedQuota() {
|
||
|
var quota = this.user.quota.quota;
|
||
|
|
||
|
if (quota > 0) {
|
||
|
quota = Math.min(100, Math.round(this.user.quota.used / quota * 100));
|
||
|
} else {
|
||
|
var usedInGB = this.user.quota.used / (10 * Math.pow(2, 30)); // asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota
|
||
|
|
||
|
quota = 95 * (1 - 1 / (usedInGB + 1));
|
||
|
}
|
||
|
|
||
|
return isNaN(quota) ? 0 : quota;
|
||
|
},
|
||
|
// Mapping saved values to objects
|
||
|
userQuota: function userQuota() {
|
||
|
if (this.user.quota.quota >= 0) {
|
||
|
// if value is valid, let's map the quotaOptions or return custom quota
|
||
|
var humanQuota = OC.Util.humanFileSize(this.user.quota.quota);
|
||
|
var userQuota = this.quotaOptions.find(function (quota) {
|
||
|
return quota.id === humanQuota;
|
||
|
});
|
||
|
return userQuota || {
|
||
|
id: humanQuota,
|
||
|
label: humanQuota
|
||
|
};
|
||
|
} else if (this.user.quota.quota === 'default') {
|
||
|
// default quota is replaced by the proper value on load
|
||
|
return this.quotaOptions[0];
|
||
|
}
|
||
|
|
||
|
return this.quotaOptions[1]; // unlimited
|
||
|
},
|
||
|
|
||
|
/* PASSWORD POLICY? */
|
||
|
minPasswordLength: function minPasswordLength() {
|
||
|
return this.$store.getters.getPasswordPolicyMinLength;
|
||
|
},
|
||
|
|
||
|
/* LANGUAGE */
|
||
|
userLanguage: function userLanguage() {
|
||
|
var _this4 = this;
|
||
|
|
||
|
var availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);
|
||
|
var userLang = availableLanguages.find(function (lang) {
|
||
|
return lang.code === _this4.user.language;
|
||
|
});
|
||
|
|
||
|
if (_typeof(userLang) !== 'object' && this.user.language !== '') {
|
||
|
return {
|
||
|
code: this.user.language,
|
||
|
name: this.user.language
|
||
|
};
|
||
|
} else if (this.user.language === '') {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return userLang;
|
||
|
},
|
||
|
|
||
|
/* LAST LOGIN */
|
||
|
userLastLoginTooltip: function userLastLoginTooltip() {
|
||
|
if (this.user.lastLogin > 0) {
|
||
|
return OC.Util.formatDate(this.user.lastLogin);
|
||
|
}
|
||
|
|
||
|
return '';
|
||
|
},
|
||
|
userLastLogin: function userLastLogin() {
|
||
|
if (this.user.lastLogin > 0) {
|
||
|
return OC.Util.relativeModifiedDate(this.user.lastLogin);
|
||
|
}
|
||
|
|
||
|
return t('settings', 'Never');
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
/**
|
||
|
* Generate avatar url
|
||
|
*
|
||
|
* @param {string} user The user name
|
||
|
* @param {int} size Size integer, default 32
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
generateAvatar: function generateAvatar(user) {
|
||
|
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;
|
||
|
return OC.generateUrl('/avatar/{user}/{size}?v={version}', {
|
||
|
user: user,
|
||
|
size: size,
|
||
|
version: oc_userconfig.avatar.version
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/views/Users.vue":
|
||
|
/*!*******************************************!*\
|
||
|
!*** ./apps/settings/src/views/Users.vue ***!
|
||
|
\*******************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Users.vue?vue&type=template&id=889b7562&scoped=true& */ "./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&");
|
||
|
/* harmony import */ var _Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Users.vue?vue&type=script&lang=js& */ "./apps/settings/src/views/Users.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport *//* harmony import */ var _Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& */ "./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&");
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* normalize component */
|
||
|
|
||
|
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
||
|
_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
|
||
|
_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
|
||
|
_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
|
||
|
false,
|
||
|
null,
|
||
|
"889b7562",
|
||
|
null
|
||
|
|
||
|
)
|
||
|
|
||
|
/* hot reload */
|
||
|
if (false) { var api; }
|
||
|
component.options.__file = "apps/settings/src/views/Users.vue"
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/views/Users.vue?vue&type=script&lang=js&":
|
||
|
/*!********************************************************************!*\
|
||
|
!*** ./apps/settings/src/views/Users.vue?vue&type=script&lang=js& ***!
|
||
|
\********************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib!../../../../node_modules/vue-loader/lib??vue-loader-options!./Users.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=script&lang=js&");
|
||
|
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&":
|
||
|
/*!*****************************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& ***!
|
||
|
\*****************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib??vue-loader-options!./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&");
|
||
|
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
|
||
|
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&":
|
||
|
/*!**************************************************************************************!*\
|
||
|
!*** ./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true& ***!
|
||
|
\**************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./Users.vue?vue&type=template&id=889b7562&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&");
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
|
||
|
|
||
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&":
|
||
|
/*!**************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=script&lang=js& ***!
|
||
|
\**************************************************************************************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _UserList_UserRow__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserList/UserRow */ "./apps/settings/src/components/UserList/UserRow.vue");
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/vue */ "./node_modules/@nextcloud/vue/dist/ncvuecomponents.js");
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__);
|
||
|
/* harmony import */ var vue_infinite_loading__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-infinite-loading */ "./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js");
|
||
|
/* harmony import */ var vue_infinite_loading__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_infinite_loading__WEBPACK_IMPORTED_MODULE_2__);
|
||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
var unlimitedQuota = {
|
||
|
id: 'none',
|
||
|
label: t('settings', 'Unlimited')
|
||
|
};
|
||
|
var defaultQuota = {
|
||
|
id: 'default',
|
||
|
label: t('settings', 'Default quota')
|
||
|
};
|
||
|
var newUser = {
|
||
|
id: '',
|
||
|
displayName: '',
|
||
|
password: '',
|
||
|
mailAddress: '',
|
||
|
groups: [],
|
||
|
subAdminsGroups: [],
|
||
|
quota: defaultQuota,
|
||
|
language: {
|
||
|
code: 'en',
|
||
|
name: t('settings', 'Default language')
|
||
|
}
|
||
|
};
|
||
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
||
|
name: 'UserList',
|
||
|
components: {
|
||
|
userRow: _UserList_UserRow__WEBPACK_IMPORTED_MODULE_0__["default"],
|
||
|
Multiselect: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__["Multiselect"],
|
||
|
InfiniteLoading: vue_infinite_loading__WEBPACK_IMPORTED_MODULE_2___default.a,
|
||
|
Actions: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__["Actions"],
|
||
|
ActionButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_1__["ActionButton"]
|
||
|
},
|
||
|
props: {
|
||
|
users: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
showConfig: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
selectedGroup: {
|
||
|
type: String,
|
||
|
default: null
|
||
|
},
|
||
|
externalActions: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data: function data() {
|
||
|
return {
|
||
|
unlimitedQuota: unlimitedQuota,
|
||
|
defaultQuota: defaultQuota,
|
||
|
loading: {
|
||
|
all: false,
|
||
|
groups: false
|
||
|
},
|
||
|
scrolled: false,
|
||
|
searchQuery: '',
|
||
|
newUser: Object.assign({}, newUser)
|
||
|
};
|
||
|
},
|
||
|
computed: {
|
||
|
settings: function settings() {
|
||
|
return this.$store.getters.getServerData;
|
||
|
},
|
||
|
filteredUsers: function filteredUsers() {
|
||
|
if (this.selectedGroup === 'disabled') {
|
||
|
return this.users.filter(function (user) {
|
||
|
return user.enabled === false;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (!this.settings.isAdmin) {
|
||
|
// we don't want subadmins to edit themselves
|
||
|
return this.users.filter(function (user) {
|
||
|
return user.enabled !== false && user.id !== OC.getCurrentUser().uid;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return this.users.filter(function (user) {
|
||
|
return user.enabled !== false;
|
||
|
});
|
||
|
},
|
||
|
groups: function groups() {
|
||
|
// data provided php side + remove the disabled group
|
||
|
return this.$store.getters.getGroups.filter(function (group) {
|
||
|
return group.id !== 'disabled';
|
||
|
}).sort(function (a, b) {
|
||
|
return a.name.localeCompare(b.name);
|
||
|
});
|
||
|
},
|
||
|
canAddGroups: function canAddGroups() {
|
||
|
// disabled if no permission to add new users to group
|
||
|
return this.groups.map(function (group) {
|
||
|
// clone object because we don't want
|
||
|
// to edit the original groups
|
||
|
group = Object.assign({}, group);
|
||
|
group.$isDisabled = group.canAdd === false;
|
||
|
return group;
|
||
|
});
|
||
|
},
|
||
|
subAdminsGroups: function subAdminsGroups() {
|
||
|
// data provided php side
|
||
|
return this.$store.getters.getSubadminGroups;
|
||
|
},
|
||
|
quotaOptions: function quotaOptions() {
|
||
|
// convert the preset array into objects
|
||
|
var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {
|
||
|
return acc.concat({
|
||
|
id: cur,
|
||
|
label: cur
|
||
|
});
|
||
|
}, []); // add default presets
|
||
|
|
||
|
quotaPreset.unshift(this.unlimitedQuota);
|
||
|
quotaPreset.unshift(this.defaultQuota);
|
||
|
return quotaPreset;
|
||
|
},
|
||
|
minPasswordLength: function minPasswordLength() {
|
||
|
return this.$store.getters.getPasswordPolicyMinLength;
|
||
|
},
|
||
|
usersOffset: function usersOffset() {
|
||
|
return this.$store.getters.getUsersOffset;
|
||
|
},
|
||
|
usersLimit: function usersLimit() {
|
||
|
return this.$store.getters.getUsersLimit;
|
||
|
},
|
||
|
usersCount: function usersCount() {
|
||
|
return this.users.length;
|
||
|
},
|
||
|
|
||
|
/* LANGUAGES */
|
||
|
languages: function languages() {
|
||
|
return [{
|
||
|
label: t('settings', 'Common languages'),
|
||
|
languages: this.settings.languages.commonlanguages
|
||
|
}, {
|
||
|
label: t('settings', 'All languages'),
|
||
|
languages: this.settings.languages.languages
|
||
|
}];
|
||
|
}
|
||
|
},
|
||
|
watch: {
|
||
|
// watch url change and group select
|
||
|
selectedGroup: function selectedGroup(val, old) {
|
||
|
// if selected is the disabled group but it's empty
|
||
|
this.redirectIfDisabled();
|
||
|
this.$store.commit('resetUsers');
|
||
|
this.$refs.infiniteLoading.stateChanger.reset();
|
||
|
this.setNewUserDefaultGroup(val);
|
||
|
},
|
||
|
// make sure the infiniteLoading state is changed if we manually
|
||
|
// add/remove data from the store
|
||
|
usersCount: function usersCount(val, old) {
|
||
|
// deleting the last user, reset the list
|
||
|
if (val === 0 && old === 1) {
|
||
|
this.$refs.infiniteLoading.stateChanger.reset(); // adding the first user, warn the infiniteLoader that
|
||
|
// the list is not empty anymore (we don't fetch the newly
|
||
|
// added user as we already have all the info we need)
|
||
|
} else if (val === 1 && old === 0) {
|
||
|
this.$refs.infiniteLoading.stateChanger.loaded();
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
mounted: function mounted() {
|
||
|
if (!this.settings.canChangePassword) {
|
||
|
OC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));
|
||
|
}
|
||
|
/**
|
||
|
* Reset and init new user form
|
||
|
*/
|
||
|
|
||
|
|
||
|
this.resetForm();
|
||
|
/**
|
||
|
* Register search
|
||
|
*/
|
||
|
|
||
|
this.userSearch = new OCA.Search(this.search, this.resetSearch);
|
||
|
/**
|
||
|
* If disabled group but empty, redirect
|
||
|
*/
|
||
|
|
||
|
this.redirectIfDisabled();
|
||
|
},
|
||
|
methods: {
|
||
|
onScroll: function onScroll(event) {
|
||
|
this.scrolled = event.target.scrollTo > 0;
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Validate quota string to make sure it's a valid human file size
|
||
|
*
|
||
|
* @param {string} quota Quota in readable format '5 GB'
|
||
|
* @returns {Object}
|
||
|
*/
|
||
|
validateQuota: function validateQuota(quota) {
|
||
|
// only used for new presets sent through @Tag
|
||
|
var validQuota = OC.Util.computerFileSize(quota);
|
||
|
|
||
|
if (validQuota !== null && validQuota >= 0) {
|
||
|
// unify format output
|
||
|
quota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));
|
||
|
this.newUser.quota = {
|
||
|
id: quota,
|
||
|
label: quota
|
||
|
};
|
||
|
return this.newUser.quota;
|
||
|
} // Default is unlimited
|
||
|
|
||
|
|
||
|
this.newUser.quota = this.quotaOptions[0];
|
||
|
return this.quotaOptions[0];
|
||
|
},
|
||
|
infiniteHandler: function infiniteHandler($state) {
|
||
|
this.$store.dispatch('getUsers', {
|
||
|
offset: this.usersOffset,
|
||
|
limit: this.usersLimit,
|
||
|
group: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',
|
||
|
search: this.searchQuery
|
||
|
}).then(function (response) {
|
||
|
response ? $state.loaded() : $state.complete();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/* SEARCH */
|
||
|
search: function search(query) {
|
||
|
this.searchQuery = query;
|
||
|
this.$store.commit('resetUsers');
|
||
|
this.$refs.infiniteLoading.stateChanger.reset();
|
||
|
},
|
||
|
resetSearch: function resetSearch() {
|
||
|
this.search('');
|
||
|
},
|
||
|
resetForm: function resetForm() {
|
||
|
// revert form to original state
|
||
|
this.newUser = Object.assign({}, newUser);
|
||
|
/**
|
||
|
* Init default language from server data. The use of this.settings
|
||
|
* requires a computed variable, which break the v-model binding of the form,
|
||
|
* this is a much easier solution than getter and setter on a computed var
|
||
|
*/
|
||
|
|
||
|
if (this.settings.defaultLanguage) {
|
||
|
vue__WEBPACK_IMPORTED_MODULE_3__["default"].set(this.newUser.language, 'code', this.settings.defaultLanguage);
|
||
|
}
|
||
|
/**
|
||
|
* In case the user directly loaded the user list within a group
|
||
|
* the watch won't be triggered. We need to initialize it.
|
||
|
*/
|
||
|
|
||
|
|
||
|
this.setNewUserDefaultGroup(this.selectedGroup);
|
||
|
this.loading.all = false;
|
||
|
},
|
||
|
createUser: function createUser() {
|
||
|
var _this = this;
|
||
|
|
||
|
this.loading.all = true;
|
||
|
this.$store.dispatch('addUser', {
|
||
|
userid: this.newUser.id,
|
||
|
password: this.newUser.password,
|
||
|
displayName: this.newUser.displayName,
|
||
|
email: this.newUser.mailAddress,
|
||
|
groups: this.newUser.groups.map(function (group) {
|
||
|
return group.id;
|
||
|
}),
|
||
|
subadmin: this.newUser.subAdminsGroups.map(function (group) {
|
||
|
return group.id;
|
||
|
}),
|
||
|
quota: this.newUser.quota.id,
|
||
|
language: this.newUser.language.code
|
||
|
}).then(function () {
|
||
|
_this.resetForm();
|
||
|
|
||
|
_this.$refs.newusername.focus();
|
||
|
}).catch(function (error) {
|
||
|
_this.loading.all = false;
|
||
|
|
||
|
if (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {
|
||
|
var statuscode = error.response.data.ocs.meta.statuscode;
|
||
|
|
||
|
if (statuscode === 102) {
|
||
|
// wrong username
|
||
|
_this.$refs.newusername.focus();
|
||
|
} else if (statuscode === 107) {
|
||
|
// wrong password
|
||
|
_this.$refs.newuserpassword.focus();
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
setNewUserDefaultGroup: function setNewUserDefaultGroup(value) {
|
||
|
if (value && value.length > 0) {
|
||
|
// setting new user default group to the current selected one
|
||
|
var currentGroup = this.groups.find(function (group) {
|
||
|
return group.id === value;
|
||
|
});
|
||
|
|
||
|
if (currentGroup) {
|
||
|
this.newUser.groups = [currentGroup];
|
||
|
return;
|
||
|
}
|
||
|
} // fallback, empty selected group
|
||
|
|
||
|
|
||
|
this.newUser.groups = [];
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Create a new group
|
||
|
*
|
||
|
* @param {string} gid Group id
|
||
|
* @returns {Promise}
|
||
|
*/
|
||
|
createGroup: function createGroup(gid) {
|
||
|
var _this2 = this;
|
||
|
|
||
|
this.loading.groups = true;
|
||
|
this.$store.dispatch('addGroup', gid).then(function (group) {
|
||
|
_this2.newUser.groups.push(_this2.groups.find(function (group) {
|
||
|
return group.id === gid;
|
||
|
}));
|
||
|
|
||
|
_this2.loading.groups = false;
|
||
|
}).catch(function () {
|
||
|
_this2.loading.groups = false;
|
||
|
});
|
||
|
return this.$store.getters.getGroups[this.groups.length];
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* If the selected group is the disabled group but the count is 0
|
||
|
* redirect to the all users page.
|
||
|
* * we only check for 0 because we don't have the count on ldap
|
||
|
* * and we therefore set the usercount to -1 in this specific case
|
||
|
*/
|
||
|
redirectIfDisabled: function redirectIfDisabled() {
|
||
|
var allGroups = this.$store.getters.getGroups;
|
||
|
|
||
|
if (this.selectedGroup === 'disabled' && allGroups.findIndex(function (group) {
|
||
|
return group.id === 'disabled' && group.usercount === 0;
|
||
|
}) > -1) {
|
||
|
// disabled group is empty, redirection to all users
|
||
|
this.$router.push({
|
||
|
name: 'users'
|
||
|
});
|
||
|
this.$refs.infiniteLoading.stateChanger.reset();
|
||
|
}
|
||
|
},
|
||
|
onClose: function onClose() {
|
||
|
this.showConfig.showNewUserForm = false;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&":
|
||
|
/*!**********************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js& ***!
|
||
|
\**********************************************************************************************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-click-outside */ "./node_modules/vue-click-outside/index.js");
|
||
|
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_click_outside__WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
|
||
|
/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! v-tooltip */ "./node_modules/v-tooltip/dist/v-tooltip.esm.js");
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/vue */ "./node_modules/@nextcloud/vue/dist/ncvuecomponents.js");
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__);
|
||
|
/* harmony import */ var _UserRowSimple__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UserRowSimple */ "./apps/settings/src/components/UserList/UserRowSimple.vue");
|
||
|
/* harmony import */ var _mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/UserRowMixin */ "./apps/settings/src/mixins/UserRowMixin.js");
|
||
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
||
|
|
||
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
||
|
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
vue__WEBPACK_IMPORTED_MODULE_1__["default"].use(v_tooltip__WEBPACK_IMPORTED_MODULE_2__["default"]);
|
||
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
||
|
name: 'UserRow',
|
||
|
components: {
|
||
|
UserRowSimple: _UserRowSimple__WEBPACK_IMPORTED_MODULE_4__["default"],
|
||
|
PopoverMenu: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__["PopoverMenu"],
|
||
|
Actions: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__["Actions"],
|
||
|
ActionButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__["ActionButton"],
|
||
|
Multiselect: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_3__["Multiselect"]
|
||
|
},
|
||
|
directives: {
|
||
|
ClickOutside: vue_click_outside__WEBPACK_IMPORTED_MODULE_0___default.a
|
||
|
},
|
||
|
mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_5__["default"]],
|
||
|
props: {
|
||
|
user: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
settings: {
|
||
|
type: Object,
|
||
|
default: function _default() {
|
||
|
return {};
|
||
|
}
|
||
|
},
|
||
|
groups: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
subAdminsGroups: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
quotaOptions: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
},
|
||
|
showConfig: {
|
||
|
type: Object,
|
||
|
default: function _default() {
|
||
|
return {};
|
||
|
}
|
||
|
},
|
||
|
languages: {
|
||
|
type: Array,
|
||
|
required: true
|
||
|
},
|
||
|
externalActions: {
|
||
|
type: Array,
|
||
|
default: function _default() {
|
||
|
return [];
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
data: function data() {
|
||
|
return {
|
||
|
rand: parseInt(Math.random() * 1000),
|
||
|
openedMenu: false,
|
||
|
feedbackMessage: '',
|
||
|
editing: false,
|
||
|
loading: {
|
||
|
all: false,
|
||
|
displayName: false,
|
||
|
password: false,
|
||
|
mailAddress: false,
|
||
|
groups: false,
|
||
|
subadmins: false,
|
||
|
quota: false,
|
||
|
delete: false,
|
||
|
disable: false,
|
||
|
languages: false,
|
||
|
wipe: false
|
||
|
}
|
||
|
};
|
||
|
},
|
||
|
computed: {
|
||
|
/* USER POPOVERMENU ACTIONS */
|
||
|
userActions: function userActions() {
|
||
|
var actions = [{
|
||
|
icon: 'icon-delete',
|
||
|
text: t('settings', 'Delete user'),
|
||
|
action: this.deleteUser
|
||
|
}, {
|
||
|
icon: 'icon-delete',
|
||
|
text: t('settings', 'Wipe all devices'),
|
||
|
action: this.wipeUserDevices
|
||
|
}, {
|
||
|
icon: this.user.enabled ? 'icon-close' : 'icon-add',
|
||
|
text: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),
|
||
|
action: this.enableDisableUser
|
||
|
}];
|
||
|
|
||
|
if (this.user.email !== null && this.user.email !== '') {
|
||
|
actions.push({
|
||
|
icon: 'icon-mail',
|
||
|
text: t('settings', 'Resend welcome email'),
|
||
|
action: this.sendWelcomeMail
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return actions.concat(this.externalActions);
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
/* MENU HANDLING */
|
||
|
toggleMenu: function toggleMenu() {
|
||
|
this.openedMenu = !this.openedMenu;
|
||
|
},
|
||
|
hideMenu: function hideMenu() {
|
||
|
this.openedMenu = false;
|
||
|
},
|
||
|
wipeUserDevices: function wipeUserDevices() {
|
||
|
var _this = this;
|
||
|
|
||
|
var userid = this.user.id;
|
||
|
OC.dialogs.confirmDestructive(t('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', {
|
||
|
userid: userid
|
||
|
}), t('settings', 'Remote wipe of devices'), {
|
||
|
type: OC.dialogs.YES_NO_BUTTONS,
|
||
|
confirm: t('settings', 'Wipe {userid}\'s devices', {
|
||
|
userid: userid
|
||
|
}),
|
||
|
confirmClasses: 'error',
|
||
|
cancel: t('settings', 'Cancel')
|
||
|
}, function (result) {
|
||
|
if (result) {
|
||
|
_this.loading.wipe = true;
|
||
|
_this.loading.all = true;
|
||
|
|
||
|
_this.$store.dispatch('wipeUserDevices', userid).then(function () {
|
||
|
_this.loading.wipe = false;
|
||
|
_this.loading.all = false;
|
||
|
});
|
||
|
}
|
||
|
}, true);
|
||
|
},
|
||
|
deleteUser: function deleteUser() {
|
||
|
var _this2 = this;
|
||
|
|
||
|
var userid = this.user.id;
|
||
|
OC.dialogs.confirmDestructive(t('settings', 'Fully delete {userid}\'s account including all their personal files, app data, etc.', {
|
||
|
userid: userid
|
||
|
}), t('settings', 'Account deletion'), {
|
||
|
type: OC.dialogs.YES_NO_BUTTONS,
|
||
|
confirm: t('settings', 'Delete {userid}\'s account', {
|
||
|
userid: userid
|
||
|
}),
|
||
|
confirmClasses: 'error',
|
||
|
cancel: t('settings', 'Cancel')
|
||
|
}, function (result) {
|
||
|
if (result) {
|
||
|
_this2.loading.delete = true;
|
||
|
_this2.loading.all = true;
|
||
|
return _this2.$store.dispatch('deleteUser', userid).then(function () {
|
||
|
_this2.loading.delete = false;
|
||
|
_this2.loading.all = false;
|
||
|
});
|
||
|
}
|
||
|
}, true);
|
||
|
},
|
||
|
enableDisableUser: function enableDisableUser() {
|
||
|
var _this3 = this;
|
||
|
|
||
|
this.loading.delete = true;
|
||
|
this.loading.all = true;
|
||
|
var userid = this.user.id;
|
||
|
var enabled = !this.user.enabled;
|
||
|
return this.$store.dispatch('enableDisableUser', {
|
||
|
userid: userid,
|
||
|
enabled: enabled
|
||
|
}).then(function () {
|
||
|
_this3.loading.delete = false;
|
||
|
_this3.loading.all = false;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Set user displayName
|
||
|
*
|
||
|
* @param {string} displayName The display name
|
||
|
*/
|
||
|
updateDisplayName: function updateDisplayName() {
|
||
|
var _this4 = this;
|
||
|
|
||
|
var displayName = this.$refs.displayName.value;
|
||
|
this.loading.displayName = true;
|
||
|
this.$store.dispatch('setUserData', {
|
||
|
userid: this.user.id,
|
||
|
key: 'displayname',
|
||
|
value: displayName
|
||
|
}).then(function () {
|
||
|
_this4.loading.displayName = false;
|
||
|
_this4.$refs.displayName.value = displayName;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Set user password
|
||
|
*
|
||
|
* @param {string} password The email adress
|
||
|
*/
|
||
|
updatePassword: function updatePassword() {
|
||
|
var _this5 = this;
|
||
|
|
||
|
var password = this.$refs.password.value;
|
||
|
this.loading.password = true;
|
||
|
this.$store.dispatch('setUserData', {
|
||
|
userid: this.user.id,
|
||
|
key: 'password',
|
||
|
value: password
|
||
|
}).then(function () {
|
||
|
_this5.loading.password = false;
|
||
|
_this5.$refs.password.value = ''; // empty & show placeholder
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Set user mailAddress
|
||
|
*
|
||
|
* @param {string} mailAddress The email adress
|
||
|
*/
|
||
|
updateEmail: function updateEmail() {
|
||
|
var _this6 = this;
|
||
|
|
||
|
var mailAddress = this.$refs.mailAddress.value;
|
||
|
this.loading.mailAddress = true;
|
||
|
this.$store.dispatch('setUserData', {
|
||
|
userid: this.user.id,
|
||
|
key: 'email',
|
||
|
value: mailAddress
|
||
|
}).then(function () {
|
||
|
_this6.loading.mailAddress = false;
|
||
|
_this6.$refs.mailAddress.value = mailAddress;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Create a new group and add user to it
|
||
|
*
|
||
|
* @param {string} gid Group id
|
||
|
*/
|
||
|
createGroup: function createGroup(gid) {
|
||
|
var _this7 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
||
|
var userid;
|
||
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
||
|
while (1) {
|
||
|
switch (_context.prev = _context.next) {
|
||
|
case 0:
|
||
|
_this7.loading = {
|
||
|
groups: true,
|
||
|
subadmins: true
|
||
|
};
|
||
|
_context.prev = 1;
|
||
|
_context.next = 4;
|
||
|
return _this7.$store.dispatch('addGroup', gid);
|
||
|
|
||
|
case 4:
|
||
|
userid = _this7.user.id;
|
||
|
_context.next = 7;
|
||
|
return _this7.$store.dispatch('addUserGroup', {
|
||
|
userid: userid,
|
||
|
gid: gid
|
||
|
});
|
||
|
|
||
|
case 7:
|
||
|
_context.next = 12;
|
||
|
break;
|
||
|
|
||
|
case 9:
|
||
|
_context.prev = 9;
|
||
|
_context.t0 = _context["catch"](1);
|
||
|
console.error(_context.t0);
|
||
|
|
||
|
case 12:
|
||
|
_context.prev = 12;
|
||
|
_this7.loading = {
|
||
|
groups: false,
|
||
|
subadmins: false
|
||
|
};
|
||
|
return _context.finish(12);
|
||
|
|
||
|
case 15:
|
||
|
return _context.abrupt("return", _this7.$store.getters.getGroups[_this7.groups.length]);
|
||
|
|
||
|
case 16:
|
||
|
case "end":
|
||
|
return _context.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee, null, [[1, 9, 12, 15]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Add user to group
|
||
|
*
|
||
|
* @param {object} group Group object
|
||
|
*/
|
||
|
addUserGroup: function addUserGroup(group) {
|
||
|
var _this8 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
||
|
var userid, gid;
|
||
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
||
|
while (1) {
|
||
|
switch (_context2.prev = _context2.next) {
|
||
|
case 0:
|
||
|
if (!(group.canAdd === false)) {
|
||
|
_context2.next = 2;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return _context2.abrupt("return", false);
|
||
|
|
||
|
case 2:
|
||
|
_this8.loading.groups = true;
|
||
|
userid = _this8.user.id;
|
||
|
gid = group.id;
|
||
|
_context2.prev = 5;
|
||
|
_context2.next = 8;
|
||
|
return _this8.$store.dispatch('addUserGroup', {
|
||
|
userid: userid,
|
||
|
gid: gid
|
||
|
});
|
||
|
|
||
|
case 8:
|
||
|
_context2.next = 13;
|
||
|
break;
|
||
|
|
||
|
case 10:
|
||
|
_context2.prev = 10;
|
||
|
_context2.t0 = _context2["catch"](5);
|
||
|
console.error(_context2.t0);
|
||
|
|
||
|
case 13:
|
||
|
_context2.prev = 13;
|
||
|
_this8.loading.groups = false;
|
||
|
return _context2.finish(13);
|
||
|
|
||
|
case 16:
|
||
|
case "end":
|
||
|
return _context2.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee2, null, [[5, 10, 13, 16]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Remove user from group
|
||
|
*
|
||
|
* @param {object} group Group object
|
||
|
*/
|
||
|
removeUserGroup: function removeUserGroup(group) {
|
||
|
var _this9 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
||
|
var userid, gid;
|
||
|
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
||
|
while (1) {
|
||
|
switch (_context3.prev = _context3.next) {
|
||
|
case 0:
|
||
|
if (!(group.canRemove === false)) {
|
||
|
_context3.next = 2;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return _context3.abrupt("return", false);
|
||
|
|
||
|
case 2:
|
||
|
_this9.loading.groups = true;
|
||
|
userid = _this9.user.id;
|
||
|
gid = group.id;
|
||
|
_context3.prev = 5;
|
||
|
_context3.next = 8;
|
||
|
return _this9.$store.dispatch('removeUserGroup', {
|
||
|
userid: userid,
|
||
|
gid: gid
|
||
|
});
|
||
|
|
||
|
case 8:
|
||
|
_this9.loading.groups = false; // remove user from current list if current list is the removed group
|
||
|
|
||
|
if (_this9.$route.params.selectedGroup === gid) {
|
||
|
_this9.$store.commit('deleteUser', userid);
|
||
|
}
|
||
|
|
||
|
_context3.next = 15;
|
||
|
break;
|
||
|
|
||
|
case 12:
|
||
|
_context3.prev = 12;
|
||
|
_context3.t0 = _context3["catch"](5);
|
||
|
_this9.loading.groups = false;
|
||
|
|
||
|
case 15:
|
||
|
case "end":
|
||
|
return _context3.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee3, null, [[5, 12]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Add user to group
|
||
|
*
|
||
|
* @param {object} group Group object
|
||
|
*/
|
||
|
addUserSubAdmin: function addUserSubAdmin(group) {
|
||
|
var _this10 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
|
||
|
var userid, gid;
|
||
|
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
||
|
while (1) {
|
||
|
switch (_context4.prev = _context4.next) {
|
||
|
case 0:
|
||
|
_this10.loading.subadmins = true;
|
||
|
userid = _this10.user.id;
|
||
|
gid = group.id;
|
||
|
_context4.prev = 3;
|
||
|
_context4.next = 6;
|
||
|
return _this10.$store.dispatch('addUserSubAdmin', {
|
||
|
userid: userid,
|
||
|
gid: gid
|
||
|
});
|
||
|
|
||
|
case 6:
|
||
|
_this10.loading.subadmins = false;
|
||
|
_context4.next = 12;
|
||
|
break;
|
||
|
|
||
|
case 9:
|
||
|
_context4.prev = 9;
|
||
|
_context4.t0 = _context4["catch"](3);
|
||
|
console.error(_context4.t0);
|
||
|
|
||
|
case 12:
|
||
|
case "end":
|
||
|
return _context4.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee4, null, [[3, 9]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Remove user from group
|
||
|
*
|
||
|
* @param {object} group Group object
|
||
|
*/
|
||
|
removeUserSubAdmin: function removeUserSubAdmin(group) {
|
||
|
var _this11 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
|
||
|
var userid, gid;
|
||
|
return regeneratorRuntime.wrap(function _callee5$(_context5) {
|
||
|
while (1) {
|
||
|
switch (_context5.prev = _context5.next) {
|
||
|
case 0:
|
||
|
_this11.loading.subadmins = true;
|
||
|
userid = _this11.user.id;
|
||
|
gid = group.id;
|
||
|
_context5.prev = 3;
|
||
|
_context5.next = 6;
|
||
|
return _this11.$store.dispatch('removeUserSubAdmin', {
|
||
|
userid: userid,
|
||
|
gid: gid
|
||
|
});
|
||
|
|
||
|
case 6:
|
||
|
_context5.next = 11;
|
||
|
break;
|
||
|
|
||
|
case 8:
|
||
|
_context5.prev = 8;
|
||
|
_context5.t0 = _context5["catch"](3);
|
||
|
console.error(_context5.t0);
|
||
|
|
||
|
case 11:
|
||
|
_context5.prev = 11;
|
||
|
_this11.loading.subadmins = false;
|
||
|
return _context5.finish(11);
|
||
|
|
||
|
case 14:
|
||
|
case "end":
|
||
|
return _context5.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee5, null, [[3, 8, 11, 14]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Dispatch quota set request
|
||
|
*
|
||
|
* @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}
|
||
|
* @returns {string}
|
||
|
*/
|
||
|
setUserQuota: function setUserQuota() {
|
||
|
var _this12 = this;
|
||
|
|
||
|
var quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
|
||
|
return regeneratorRuntime.wrap(function _callee6$(_context6) {
|
||
|
while (1) {
|
||
|
switch (_context6.prev = _context6.next) {
|
||
|
case 0:
|
||
|
_this12.loading.quota = true; // ensure we only send the preset id
|
||
|
|
||
|
quota = quota.id ? quota.id : quota;
|
||
|
_context6.prev = 2;
|
||
|
_context6.next = 5;
|
||
|
return _this12.$store.dispatch('setUserData', {
|
||
|
userid: _this12.user.id,
|
||
|
key: 'quota',
|
||
|
value: quota
|
||
|
});
|
||
|
|
||
|
case 5:
|
||
|
_context6.next = 10;
|
||
|
break;
|
||
|
|
||
|
case 7:
|
||
|
_context6.prev = 7;
|
||
|
_context6.t0 = _context6["catch"](2);
|
||
|
console.error(_context6.t0);
|
||
|
|
||
|
case 10:
|
||
|
_context6.prev = 10;
|
||
|
_this12.loading.quota = false;
|
||
|
return _context6.finish(10);
|
||
|
|
||
|
case 13:
|
||
|
return _context6.abrupt("return", quota);
|
||
|
|
||
|
case 14:
|
||
|
case "end":
|
||
|
return _context6.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee6, null, [[2, 7, 10, 13]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Validate quota string to make sure it's a valid human file size
|
||
|
*
|
||
|
* @param {string} quota Quota in readable format '5 GB'
|
||
|
* @returns {Promise|boolean}
|
||
|
*/
|
||
|
validateQuota: function validateQuota(quota) {
|
||
|
// only used for new presets sent through @Tag
|
||
|
var validQuota = OC.Util.computerFileSize(quota);
|
||
|
|
||
|
if (validQuota !== null && validQuota >= 0) {
|
||
|
// unify format output
|
||
|
return this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));
|
||
|
} // if no valid do not change
|
||
|
|
||
|
|
||
|
return false;
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Dispatch language set request
|
||
|
*
|
||
|
* @param {Object} lang language object {code:'en', name:'English'}
|
||
|
* @returns {Object}
|
||
|
*/
|
||
|
setUserLanguage: function setUserLanguage(lang) {
|
||
|
var _this13 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
|
||
|
return regeneratorRuntime.wrap(function _callee7$(_context7) {
|
||
|
while (1) {
|
||
|
switch (_context7.prev = _context7.next) {
|
||
|
case 0:
|
||
|
_this13.loading.languages = true; // ensure we only send the preset id
|
||
|
|
||
|
_context7.prev = 1;
|
||
|
_context7.next = 4;
|
||
|
return _this13.$store.dispatch('setUserData', {
|
||
|
userid: _this13.user.id,
|
||
|
key: 'language',
|
||
|
value: lang.code
|
||
|
});
|
||
|
|
||
|
case 4:
|
||
|
_context7.next = 9;
|
||
|
break;
|
||
|
|
||
|
case 6:
|
||
|
_context7.prev = 6;
|
||
|
_context7.t0 = _context7["catch"](1);
|
||
|
console.error(_context7.t0);
|
||
|
|
||
|
case 9:
|
||
|
_context7.prev = 9;
|
||
|
_this13.loading.languages = false;
|
||
|
return _context7.finish(9);
|
||
|
|
||
|
case 12:
|
||
|
return _context7.abrupt("return", lang);
|
||
|
|
||
|
case 13:
|
||
|
case "end":
|
||
|
return _context7.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee7, null, [[1, 6, 9, 12]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Dispatch new welcome mail request
|
||
|
*/
|
||
|
sendWelcomeMail: function sendWelcomeMail() {
|
||
|
var _this14 = this;
|
||
|
|
||
|
this.loading.all = true;
|
||
|
this.$store.dispatch('sendWelcomeMail', this.user.id).then(function (success) {
|
||
|
if (success) {
|
||
|
// Show feedback to indicate the success
|
||
|
_this14.feedbackMessage = t('setting', 'Welcome mail sent!');
|
||
|
setTimeout(function () {
|
||
|
_this14.feedbackMessage = '';
|
||
|
}, 2000);
|
||
|
}
|
||
|
|
||
|
_this14.loading.all = false;
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&":
|
||
|
/*!****************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js& ***!
|
||
|
\****************************************************************************************************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue */ "./node_modules/@nextcloud/vue/dist/ncvuecomponents.js");
|
||
|
/* harmony import */ var _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-click-outside */ "./node_modules/vue-click-outside/index.js");
|
||
|
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_click_outside__WEBPACK_IMPORTED_MODULE_1__);
|
||
|
/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nextcloud/auth */ "./node_modules/@nextcloud/auth/dist/index.js");
|
||
|
/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_2__);
|
||
|
/* harmony import */ var _mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/UserRowMixin */ "./apps/settings/src/mixins/UserRowMixin.js");
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
||
|
name: 'UserRowSimple',
|
||
|
components: {
|
||
|
PopoverMenu: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__["PopoverMenu"],
|
||
|
ActionButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__["ActionButton"],
|
||
|
Actions: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__["Actions"]
|
||
|
},
|
||
|
directives: {
|
||
|
ClickOutside: vue_click_outside__WEBPACK_IMPORTED_MODULE_1___default.a
|
||
|
},
|
||
|
mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_3__["default"]],
|
||
|
props: {
|
||
|
user: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
loading: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
showConfig: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
},
|
||
|
userActions: {
|
||
|
type: Array,
|
||
|
required: true
|
||
|
},
|
||
|
openedMenu: {
|
||
|
type: Boolean,
|
||
|
required: true
|
||
|
},
|
||
|
feedbackMessage: {
|
||
|
type: String,
|
||
|
required: true
|
||
|
},
|
||
|
subAdminsGroups: {
|
||
|
type: Array,
|
||
|
required: true
|
||
|
},
|
||
|
settings: {
|
||
|
type: Object,
|
||
|
required: true
|
||
|
}
|
||
|
},
|
||
|
computed: {
|
||
|
userGroupsLabels: function userGroupsLabels() {
|
||
|
return this.userGroups.map(function (group) {
|
||
|
return group.name;
|
||
|
}).join(', ');
|
||
|
},
|
||
|
userSubAdminsGroupsLabels: function userSubAdminsGroupsLabels() {
|
||
|
return this.userSubAdminsGroups.map(function (group) {
|
||
|
return group.name;
|
||
|
}).join(', ');
|
||
|
},
|
||
|
usedSpace: function usedSpace() {
|
||
|
if (this.user.quota.used) {
|
||
|
return t('settings', '{size} used', {
|
||
|
size: OC.Util.humanFileSize(this.user.quota.used)
|
||
|
});
|
||
|
}
|
||
|
|
||
|
return t('settings', '{size} used', {
|
||
|
size: OC.Util.humanFileSize(0)
|
||
|
});
|
||
|
},
|
||
|
canEdit: function canEdit() {
|
||
|
return Object(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_2__["getCurrentUser"])().uid !== this.user.id && this.user.id !== 'admin';
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
hideMenu: function hideMenu() {
|
||
|
this.$emit('hideMenu');
|
||
|
},
|
||
|
toggleEdit: function toggleEdit() {
|
||
|
this.$emit('update:editing', true);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=script&lang=js&":
|
||
|
/*!******************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=script&lang=js& ***!
|
||
|
\******************************************************************************************************************************************************/
|
||
|
/*! exports provided: default */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/ActionButton */ "./node_modules/@nextcloud/vue/dist/Components/ActionButton.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppContent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppContent */ "./node_modules/@nextcloud/vue/dist/Components/AppContent.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppContent__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppContent__WEBPACK_IMPORTED_MODULE_1__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigation */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigation.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigation__WEBPACK_IMPORTED_MODULE_2__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigationCaption */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationCaption.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_3__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigationCounter */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationCounter.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_4__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigationItem */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationItem.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationItem__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigationItem__WEBPACK_IMPORTED_MODULE_5__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationNew__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigationNew */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationNew.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationNew__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigationNew__WEBPACK_IMPORTED_MODULE_6__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/AppNavigationSettings */ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationSettings.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_7__);
|
||
|
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.js");
|
||
|
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_axios__WEBPACK_IMPORTED_MODULE_8__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/Content */ "./node_modules/@nextcloud/vue/dist/Components/Content.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9__);
|
||
|
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.js");
|
||
|
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_10__);
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/Multiselect */ "./node_modules/@nextcloud/vue/dist/Components/Multiselect.js");
|
||
|
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_11__);
|
||
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
|
||
|
/* harmony import */ var vue_localstorage__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! vue-localstorage */ "./node_modules/vue-localstorage/dist/vue-local-storage.js");
|
||
|
/* harmony import */ var vue_localstorage__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(vue_localstorage__WEBPACK_IMPORTED_MODULE_13__);
|
||
|
/* harmony import */ var _components_UserList__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../components/UserList */ "./apps/settings/src/components/UserList.vue");
|
||
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
|
||
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||
|
|
||
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||
|
|
||
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||
|
|
||
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
||
|
|
||
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
||
|
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
vue__WEBPACK_IMPORTED_MODULE_12__["default"].use(vue_localstorage__WEBPACK_IMPORTED_MODULE_13___default.a);
|
||
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
||
|
name: 'Users',
|
||
|
components: {
|
||
|
ActionButton: _nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0___default.a,
|
||
|
AppContent: _nextcloud_vue_dist_Components_AppContent__WEBPACK_IMPORTED_MODULE_1___default.a,
|
||
|
AppNavigation: _nextcloud_vue_dist_Components_AppNavigation__WEBPACK_IMPORTED_MODULE_2___default.a,
|
||
|
AppNavigationCaption: _nextcloud_vue_dist_Components_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_3___default.a,
|
||
|
AppNavigationCounter: _nextcloud_vue_dist_Components_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_4___default.a,
|
||
|
AppNavigationItem: _nextcloud_vue_dist_Components_AppNavigationItem__WEBPACK_IMPORTED_MODULE_5___default.a,
|
||
|
AppNavigationNew: _nextcloud_vue_dist_Components_AppNavigationNew__WEBPACK_IMPORTED_MODULE_6___default.a,
|
||
|
AppNavigationSettings: _nextcloud_vue_dist_Components_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_7___default.a,
|
||
|
Content: _nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9___default.a,
|
||
|
Multiselect: _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_11___default.a,
|
||
|
UserList: _components_UserList__WEBPACK_IMPORTED_MODULE_14__["default"]
|
||
|
},
|
||
|
props: {
|
||
|
selectedGroup: {
|
||
|
type: String,
|
||
|
default: null
|
||
|
}
|
||
|
},
|
||
|
data: function data() {
|
||
|
return {
|
||
|
// default quota is set to unlimited
|
||
|
unlimitedQuota: {
|
||
|
id: 'none',
|
||
|
label: t('settings', 'Unlimited')
|
||
|
},
|
||
|
// temporary value used for multiselect change
|
||
|
selectedQuota: false,
|
||
|
externalActions: [],
|
||
|
loadingAddGroup: false,
|
||
|
loadingSendMail: false,
|
||
|
showConfig: {
|
||
|
showStoragePath: false,
|
||
|
showUserBackend: false,
|
||
|
showLastLogin: false,
|
||
|
showNewUserForm: false,
|
||
|
showLanguages: false
|
||
|
}
|
||
|
};
|
||
|
},
|
||
|
computed: {
|
||
|
users: function users() {
|
||
|
return this.$store.getters.getUsers;
|
||
|
},
|
||
|
groups: function groups() {
|
||
|
return this.$store.getters.getGroups;
|
||
|
},
|
||
|
usersOffset: function usersOffset() {
|
||
|
return this.$store.getters.getUsersOffset;
|
||
|
},
|
||
|
usersLimit: function usersLimit() {
|
||
|
return this.$store.getters.getUsersLimit;
|
||
|
},
|
||
|
// Local settings
|
||
|
showLanguages: {
|
||
|
get: function get() {
|
||
|
return this.getLocalstorage('showLanguages');
|
||
|
},
|
||
|
set: function set(status) {
|
||
|
this.setLocalStorage('showLanguages', status);
|
||
|
}
|
||
|
},
|
||
|
showLastLogin: {
|
||
|
get: function get() {
|
||
|
return this.getLocalstorage('showLastLogin');
|
||
|
},
|
||
|
set: function set(status) {
|
||
|
this.setLocalStorage('showLastLogin', status);
|
||
|
}
|
||
|
},
|
||
|
showUserBackend: {
|
||
|
get: function get() {
|
||
|
return this.getLocalstorage('showUserBackend');
|
||
|
},
|
||
|
set: function set(status) {
|
||
|
this.setLocalStorage('showUserBackend', status);
|
||
|
}
|
||
|
},
|
||
|
showStoragePath: {
|
||
|
get: function get() {
|
||
|
return this.getLocalstorage('showStoragePath');
|
||
|
},
|
||
|
set: function set(status) {
|
||
|
this.setLocalStorage('showStoragePath', status);
|
||
|
}
|
||
|
},
|
||
|
userCount: function userCount() {
|
||
|
return this.$store.getters.getUserCount;
|
||
|
},
|
||
|
settings: function settings() {
|
||
|
return this.$store.getters.getServerData;
|
||
|
},
|
||
|
// default quota
|
||
|
quotaOptions: function quotaOptions() {
|
||
|
// convert the preset array into objects
|
||
|
var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {
|
||
|
return acc.concat({
|
||
|
id: cur,
|
||
|
label: cur
|
||
|
});
|
||
|
}, []); // add default presets
|
||
|
|
||
|
quotaPreset.unshift(this.unlimitedQuota);
|
||
|
return quotaPreset;
|
||
|
},
|
||
|
// mapping saved values to objects
|
||
|
defaultQuota: {
|
||
|
get: function get() {
|
||
|
if (this.selectedQuota !== false) {
|
||
|
return this.selectedQuota;
|
||
|
}
|
||
|
|
||
|
if (this.settings.defaultQuota !== this.unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {
|
||
|
// if value is valid, let's map the quotaOptions or return custom quota
|
||
|
return {
|
||
|
id: this.settings.defaultQuota,
|
||
|
label: this.settings.defaultQuota
|
||
|
};
|
||
|
}
|
||
|
|
||
|
return this.unlimitedQuota; // unlimited
|
||
|
},
|
||
|
set: function set(quota) {
|
||
|
this.selectedQuota = quota;
|
||
|
}
|
||
|
},
|
||
|
sendWelcomeMail: {
|
||
|
get: function get() {
|
||
|
return this.settings.newUserSendEmail;
|
||
|
},
|
||
|
set: function set(value) {
|
||
|
var _this = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
||
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
||
|
while (1) {
|
||
|
switch (_context.prev = _context.next) {
|
||
|
case 0:
|
||
|
_context.prev = 0;
|
||
|
_this.loadingSendMail = true;
|
||
|
|
||
|
_this.$store.commit('setServerData', _objectSpread({}, _this.settings, {
|
||
|
newUserSendEmail: value
|
||
|
}));
|
||
|
|
||
|
_context.next = 5;
|
||
|
return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_8___default.a.post(Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_10__["generateUrl"])("/settings/users/preferences/newUser.sendEmail"), {
|
||
|
value: value ? 'yes' : 'no'
|
||
|
});
|
||
|
|
||
|
case 5:
|
||
|
_context.next = 10;
|
||
|
break;
|
||
|
|
||
|
case 7:
|
||
|
_context.prev = 7;
|
||
|
_context.t0 = _context["catch"](0);
|
||
|
console.error('could not update newUser.sendEmail preference: ' + _context.t0.message, _context.t0);
|
||
|
|
||
|
case 10:
|
||
|
_context.prev = 10;
|
||
|
_this.loadingSendMail = false;
|
||
|
return _context.finish(10);
|
||
|
|
||
|
case 13:
|
||
|
case "end":
|
||
|
return _context.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee, null, [[0, 7, 10, 13]]);
|
||
|
}))();
|
||
|
}
|
||
|
},
|
||
|
groupList: function groupList() {
|
||
|
var _this2 = this;
|
||
|
|
||
|
var groups = Array.isArray(this.groups) ? this.groups : [];
|
||
|
return groups // filter out disabled and admin
|
||
|
.filter(function (group) {
|
||
|
return group.id !== 'disabled' && group.id !== 'admin';
|
||
|
}).map(function (group) {
|
||
|
return _this2.formatGroupMenu(group);
|
||
|
});
|
||
|
},
|
||
|
adminGroupMenu: function adminGroupMenu() {
|
||
|
return this.formatGroupMenu(this.groups.find(function (group) {
|
||
|
return group.id === 'admin';
|
||
|
}));
|
||
|
},
|
||
|
disabledGroupMenu: function disabledGroupMenu() {
|
||
|
return this.formatGroupMenu(this.groups.find(function (group) {
|
||
|
return group.id === 'disabled';
|
||
|
}));
|
||
|
}
|
||
|
},
|
||
|
beforeMount: function beforeMount() {
|
||
|
this.$store.commit('initGroups', {
|
||
|
groups: this.$store.getters.getServerData.groups,
|
||
|
orderBy: this.$store.getters.getServerData.sortGroups,
|
||
|
userCount: this.$store.getters.getServerData.userCount
|
||
|
});
|
||
|
this.$store.dispatch('getPasswordPolicyMinLength');
|
||
|
},
|
||
|
created: function created() {
|
||
|
// init the OCA.Settings.UserList object
|
||
|
// and add the registerAction method
|
||
|
Object.assign(OCA, {
|
||
|
Settings: {
|
||
|
UserList: {
|
||
|
registerAction: this.registerAction
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
methods: {
|
||
|
toggleNewUserMenu: function toggleNewUserMenu() {
|
||
|
this.showConfig.showNewUserForm = !this.showConfig.showNewUserForm;
|
||
|
|
||
|
if (this.showConfig.showNewUserForm) {
|
||
|
vue__WEBPACK_IMPORTED_MODULE_12__["default"].nextTick(function () {
|
||
|
window.newusername.focus();
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
getLocalstorage: function getLocalstorage(key) {
|
||
|
// force initialization
|
||
|
var localConfig = this.$localStorage.get(key); // if localstorage is null, fallback to original values
|
||
|
|
||
|
this.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];
|
||
|
return this.showConfig[key];
|
||
|
},
|
||
|
setLocalStorage: function setLocalStorage(key, status) {
|
||
|
this.showConfig[key] = status;
|
||
|
this.$localStorage.set(key, status);
|
||
|
return status;
|
||
|
},
|
||
|
removeGroup: function removeGroup(groupid) {
|
||
|
var self = this; // TODO migrate to a vue js confirm dialog component
|
||
|
|
||
|
OC.dialogs.confirm(t('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {
|
||
|
group: groupid
|
||
|
}), t('settings', 'Please confirm the group removal '), function (success) {
|
||
|
if (success) {
|
||
|
self.$store.dispatch('removeGroup', groupid);
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Dispatch default quota set request
|
||
|
*
|
||
|
* @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}
|
||
|
*/
|
||
|
setDefaultQuota: function setDefaultQuota() {
|
||
|
var _this3 = this;
|
||
|
|
||
|
var quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';
|
||
|
this.$store.dispatch('setAppConfig', {
|
||
|
app: 'files',
|
||
|
key: 'default_quota',
|
||
|
// ensure we only send the preset id
|
||
|
value: quota.id ? quota.id : quota
|
||
|
}).then(function () {
|
||
|
if (_typeof(quota) !== 'object') {
|
||
|
quota = {
|
||
|
id: quota,
|
||
|
label: quota
|
||
|
};
|
||
|
}
|
||
|
|
||
|
_this3.defaultQuota = quota;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Validate quota string to make sure it's a valid human file size
|
||
|
*
|
||
|
* @param {string} quota Quota in readable format '5 GB'
|
||
|
* @returns {Promise|boolean}
|
||
|
*/
|
||
|
validateQuota: function validateQuota(quota) {
|
||
|
// only used for new presets sent through @Tag
|
||
|
var validQuota = OC.Util.computerFileSize(quota);
|
||
|
|
||
|
if (validQuota === null) {
|
||
|
return this.setDefaultQuota('none');
|
||
|
} else {
|
||
|
// unify format output
|
||
|
return this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));
|
||
|
}
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Register a new action for the user menu
|
||
|
*
|
||
|
* @param {string} icon the icon class
|
||
|
* @param {string} text the text to display
|
||
|
* @param {Function} action the function to run
|
||
|
* @returns {Array}
|
||
|
*/
|
||
|
registerAction: function registerAction(icon, text, action) {
|
||
|
this.externalActions.push({
|
||
|
icon: icon,
|
||
|
text: text,
|
||
|
action: action
|
||
|
});
|
||
|
return this.externalActions;
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Create a new group
|
||
|
*
|
||
|
* @param {string} gid The group id
|
||
|
*/
|
||
|
createGroup: function createGroup(gid) {
|
||
|
var _this4 = this;
|
||
|
|
||
|
return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
||
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
||
|
while (1) {
|
||
|
switch (_context2.prev = _context2.next) {
|
||
|
case 0:
|
||
|
if (!(gid.trim() === '')) {
|
||
|
_context2.next = 3;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
vue__WEBPACK_IMPORTED_MODULE_12__["default"].nextTick(function () {
|
||
|
_this4.toggleAddGroupEntry(true);
|
||
|
});
|
||
|
return _context2.abrupt("return");
|
||
|
|
||
|
case 3:
|
||
|
_context2.prev = 3;
|
||
|
_this4.loadingAddGroup = true;
|
||
|
_context2.next = 7;
|
||
|
return _this4.$store.dispatch('addGroup', gid.trim());
|
||
|
|
||
|
case 7:
|
||
|
_this4.toggleAddGroupEntry(false);
|
||
|
|
||
|
_this4.$router.push({
|
||
|
name: 'group',
|
||
|
params: {
|
||
|
selectedGroup: gid.trim()
|
||
|
}
|
||
|
});
|
||
|
|
||
|
_context2.next = 14;
|
||
|
break;
|
||
|
|
||
|
case 11:
|
||
|
_context2.prev = 11;
|
||
|
_context2.t0 = _context2["catch"](3);
|
||
|
|
||
|
_this4.toggleAddGroupEntry(true);
|
||
|
|
||
|
case 14:
|
||
|
_context2.prev = 14;
|
||
|
_this4.loadingAddGroup = false;
|
||
|
return _context2.finish(14);
|
||
|
|
||
|
case 17:
|
||
|
case "end":
|
||
|
return _context2.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _callee2, null, [[3, 11, 14, 17]]);
|
||
|
}))();
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Toggle the add group entry editing state
|
||
|
* @param {boolean} [state] set state instead of toggling
|
||
|
*/
|
||
|
toggleAddGroupEntry: function toggleAddGroupEntry(state) {
|
||
|
var _this5 = this;
|
||
|
|
||
|
if (state === undefined) {
|
||
|
state = !this.$refs.addGroup.editing;
|
||
|
}
|
||
|
|
||
|
this.$refs.addGroup.editing = state; // focus input
|
||
|
|
||
|
vue__WEBPACK_IMPORTED_MODULE_12__["default"].nextTick(function () {
|
||
|
if (_this5.$refs.addGroup.$el) {
|
||
|
var input = _this5.$refs.addGroup.$el.querySelector('form > input[type="text"]');
|
||
|
|
||
|
if (input) {
|
||
|
input.focus();
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Format a group to a menu entry
|
||
|
* @param {Object} group the group
|
||
|
* @returns {Object}
|
||
|
*/
|
||
|
formatGroupMenu: function formatGroupMenu(group) {
|
||
|
var item = {};
|
||
|
item.id = group.id;
|
||
|
item.title = group.name;
|
||
|
item.usercount = group.usercount; // users count for all groups
|
||
|
|
||
|
if (group.usercount - group.disabled > 0) {
|
||
|
item.count = group.usercount - group.disabled;
|
||
|
}
|
||
|
|
||
|
return item;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&":
|
||
|
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& ***!
|
||
|
\*************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// Imports
|
||
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
|
exports = ___CSS_LOADER_API_IMPORT___(false);
|
||
|
// Module
|
||
|
exports.push([module.i, ".row--menu-opened[data-v-77960baa] {\n z-index: 1 !important;\n}\n.row[data-v-77960baa] .multiselect__single {\n z-index: auto !important;\n}\n", ""]);
|
||
|
// Exports
|
||
|
module.exports = exports;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&":
|
||
|
/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& ***!
|
||
|
\*********************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// Imports
|
||
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
|
exports = ___CSS_LOADER_API_IMPORT___(false);
|
||
|
// Module
|
||
|
exports.push([module.i, "#usergrouplist #addgroup[data-v-889b7562] .app-navigation-entry__utils {\n display: none;\n}\n", ""]);
|
||
|
// Exports
|
||
|
module.exports = exports;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&":
|
||
|
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& ***!
|
||
|
\*************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// Imports
|
||
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
|
exports = ___CSS_LOADER_API_IMPORT___(false);
|
||
|
// Module
|
||
|
exports.push([module.i, "\n.row[data-v-6cba3aca] .multiselect__single {\n\tz-index: auto !important;\n}\n", ""]);
|
||
|
// Exports
|
||
|
module.exports = exports;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&":
|
||
|
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& ***!
|
||
|
\***************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// Imports
|
||
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
||
|
exports = ___CSS_LOADER_API_IMPORT___(false);
|
||
|
// Module
|
||
|
exports.push([module.i, "\n.cellText[data-v-ff154a08] {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n", ""]);
|
||
|
// Exports
|
||
|
module.exports = exports;
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&":
|
||
|
/*!****************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true& ***!
|
||
|
\****************************************************************************************************************************************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
|
||
|
var render = function() {
|
||
|
var _vm = this
|
||
|
var _h = _vm.$createElement
|
||
|
var _c = _vm._self._c || _h
|
||
|
return _c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "user-list-grid",
|
||
|
attrs: { id: "app-content" },
|
||
|
on: {
|
||
|
"&scroll": function($event) {
|
||
|
return _vm.onScroll($event)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"form",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: _vm.showConfig.showNewUserForm,
|
||
|
expression: "showConfig.showNewUserForm"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "row",
|
||
|
class: { sticky: _vm.scrolled && _vm.showConfig.showNewUserForm },
|
||
|
attrs: { id: "new-user", disabled: _vm.loading.all },
|
||
|
on: {
|
||
|
submit: function($event) {
|
||
|
$event.preventDefault()
|
||
|
return _vm.createUser($event)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c("div", {
|
||
|
class: _vm.loading.all ? "icon-loading-small" : "icon-add"
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "name" }, [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.newUser.id,
|
||
|
expression: "newUser.id"
|
||
|
}
|
||
|
],
|
||
|
ref: "newusername",
|
||
|
attrs: {
|
||
|
id: "newusername",
|
||
|
disabled: _vm.settings.newUserGenerateUserID,
|
||
|
placeholder: _vm.settings.newUserGenerateUserID
|
||
|
? _vm.t("settings", "Will be autogenerated")
|
||
|
: _vm.t("settings", "Username"),
|
||
|
autocapitalize: "none",
|
||
|
autocomplete: "off",
|
||
|
autocorrect: "off",
|
||
|
name: "username",
|
||
|
pattern: "[a-zA-Z0-9 _\\.@\\-']+",
|
||
|
required: "",
|
||
|
type: "text"
|
||
|
},
|
||
|
domProps: { value: _vm.newUser.id },
|
||
|
on: {
|
||
|
input: function($event) {
|
||
|
if ($event.target.composing) {
|
||
|
return
|
||
|
}
|
||
|
_vm.$set(_vm.newUser, "id", $event.target.value)
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "displayName" }, [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.newUser.displayName,
|
||
|
expression: "newUser.displayName"
|
||
|
}
|
||
|
],
|
||
|
attrs: {
|
||
|
id: "newdisplayname",
|
||
|
placeholder: _vm.t("settings", "Display name"),
|
||
|
autocapitalize: "none",
|
||
|
autocomplete: "off",
|
||
|
autocorrect: "off",
|
||
|
name: "displayname",
|
||
|
type: "text"
|
||
|
},
|
||
|
domProps: { value: _vm.newUser.displayName },
|
||
|
on: {
|
||
|
input: function($event) {
|
||
|
if ($event.target.composing) {
|
||
|
return
|
||
|
}
|
||
|
_vm.$set(_vm.newUser, "displayName", $event.target.value)
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "password" }, [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.newUser.password,
|
||
|
expression: "newUser.password"
|
||
|
}
|
||
|
],
|
||
|
ref: "newuserpassword",
|
||
|
attrs: {
|
||
|
id: "newuserpassword",
|
||
|
minlength: _vm.minPasswordLength,
|
||
|
placeholder: _vm.t("settings", "Password"),
|
||
|
required: _vm.newUser.mailAddress === "",
|
||
|
autocapitalize: "none",
|
||
|
autocomplete: "new-password",
|
||
|
autocorrect: "off",
|
||
|
name: "password",
|
||
|
type: "password"
|
||
|
},
|
||
|
domProps: { value: _vm.newUser.password },
|
||
|
on: {
|
||
|
input: function($event) {
|
||
|
if ($event.target.composing) {
|
||
|
return
|
||
|
}
|
||
|
_vm.$set(_vm.newUser, "password", $event.target.value)
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "mailAddress" }, [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.newUser.mailAddress,
|
||
|
expression: "newUser.mailAddress"
|
||
|
}
|
||
|
],
|
||
|
attrs: {
|
||
|
id: "newemail",
|
||
|
placeholder: _vm.t("settings", "Email"),
|
||
|
required:
|
||
|
_vm.newUser.password === "" ||
|
||
|
_vm.settings.newUserRequireEmail,
|
||
|
autocapitalize: "none",
|
||
|
autocomplete: "off",
|
||
|
autocorrect: "off",
|
||
|
name: "email",
|
||
|
type: "email"
|
||
|
},
|
||
|
domProps: { value: _vm.newUser.mailAddress },
|
||
|
on: {
|
||
|
input: function($event) {
|
||
|
if ($event.target.composing) {
|
||
|
return
|
||
|
}
|
||
|
_vm.$set(_vm.newUser, "mailAddress", $event.target.value)
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{ staticClass: "groups" },
|
||
|
[
|
||
|
!_vm.settings.isAdmin
|
||
|
? _c("input", {
|
||
|
class: { "icon-loading-small": _vm.loading.groups },
|
||
|
attrs: {
|
||
|
id: "newgroups",
|
||
|
required: !_vm.settings.isAdmin,
|
||
|
tabindex: "-1",
|
||
|
type: "text"
|
||
|
},
|
||
|
domProps: { value: _vm.newUser.groups }
|
||
|
})
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"Multiselect",
|
||
|
{
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"close-on-select": false,
|
||
|
disabled: _vm.loading.groups || _vm.loading.all,
|
||
|
multiple: true,
|
||
|
options: _vm.canAddGroups,
|
||
|
placeholder: _vm.t("settings", "Add user in group"),
|
||
|
"tag-width": 60,
|
||
|
taggable: true,
|
||
|
label: "name",
|
||
|
"tag-placeholder": "create",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
on: { tag: _vm.createGroup },
|
||
|
model: {
|
||
|
value: _vm.newUser.groups,
|
||
|
callback: function($$v) {
|
||
|
_vm.$set(_vm.newUser, "groups", $$v)
|
||
|
},
|
||
|
expression: "newUser.groups"
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"span",
|
||
|
{ attrs: { slot: "noResult" }, slot: "noResult" },
|
||
|
[_vm._v(_vm._s(_vm.t("settings", "No results")))]
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "subadmins" },
|
||
|
[
|
||
|
_c(
|
||
|
"Multiselect",
|
||
|
{
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"close-on-select": false,
|
||
|
multiple: true,
|
||
|
options: _vm.subAdminsGroups,
|
||
|
placeholder: _vm.t("settings", "Set user as admin for"),
|
||
|
"tag-width": 60,
|
||
|
label: "name",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
model: {
|
||
|
value: _vm.newUser.subAdminsGroups,
|
||
|
callback: function($$v) {
|
||
|
_vm.$set(_vm.newUser, "subAdminsGroups", $$v)
|
||
|
},
|
||
|
expression: "newUser.subAdminsGroups"
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"span",
|
||
|
{ attrs: { slot: "noResult" }, slot: "noResult" },
|
||
|
[_vm._v(_vm._s(_vm.t("settings", "No results")))]
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{ staticClass: "quota" },
|
||
|
[
|
||
|
_c("Multiselect", {
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"allow-empty": false,
|
||
|
options: _vm.quotaOptions,
|
||
|
placeholder: _vm.t("settings", "Select user quota"),
|
||
|
taggable: true,
|
||
|
label: "label",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
on: { tag: _vm.validateQuota },
|
||
|
model: {
|
||
|
value: _vm.newUser.quota,
|
||
|
callback: function($$v) {
|
||
|
_vm.$set(_vm.newUser, "quota", $$v)
|
||
|
},
|
||
|
expression: "newUser.quota"
|
||
|
}
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLanguages
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "languages" },
|
||
|
[
|
||
|
_c("Multiselect", {
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"allow-empty": false,
|
||
|
options: _vm.languages,
|
||
|
placeholder: _vm.t("settings", "Default language"),
|
||
|
"group-label": "label",
|
||
|
"group-values": "languages",
|
||
|
label: "name",
|
||
|
"track-by": "code"
|
||
|
},
|
||
|
model: {
|
||
|
value: _vm.newUser.language,
|
||
|
callback: function($$v) {
|
||
|
_vm.$set(_vm.newUser, "language", $$v)
|
||
|
},
|
||
|
expression: "newUser.language"
|
||
|
}
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showStoragePath
|
||
|
? _c("div", { staticClass: "storageLocation" })
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showUserBackend
|
||
|
? _c("div", { staticClass: "userBackend" })
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLastLogin
|
||
|
? _c("div", { staticClass: "lastLogin" })
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "userActions" }, [
|
||
|
_c("input", {
|
||
|
staticClass: "button primary icon-checkmark-white has-tooltip",
|
||
|
attrs: {
|
||
|
id: "newsubmit",
|
||
|
title: _vm.t("settings", "Add a new user"),
|
||
|
type: "submit",
|
||
|
value: ""
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{ staticClass: "closeButton" },
|
||
|
[
|
||
|
_c(
|
||
|
"Actions",
|
||
|
[
|
||
|
_c(
|
||
|
"ActionButton",
|
||
|
{
|
||
|
attrs: { icon: "icon-close" },
|
||
|
on: { click: _vm.onClose }
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Close")) +
|
||
|
"\n\t\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
])
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "row",
|
||
|
class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },
|
||
|
attrs: { id: "grid-header" }
|
||
|
},
|
||
|
[
|
||
|
_c("div", { staticClass: "avatar", attrs: { id: "headerAvatar" } }),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "name", attrs: { id: "headerName" } }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" + _vm._s(_vm.t("settings", "Username")) + "\n\n\t\t\t"
|
||
|
),
|
||
|
_c("div", { staticClass: "subtitle" }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Display name")) +
|
||
|
"\n\t\t\t"
|
||
|
)
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{ staticClass: "password", attrs: { id: "headerPassword" } },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" + _vm._s(_vm.t("settings", "Password")) + "\n\t\t"
|
||
|
)
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{ staticClass: "mailAddress", attrs: { id: "headerAddress" } },
|
||
|
[_vm._v("\n\t\t\t" + _vm._s(_vm.t("settings", "Email")) + "\n\t\t")]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "groups", attrs: { id: "headerGroups" } }, [
|
||
|
_vm._v("\n\t\t\t" + _vm._s(_vm.t("settings", "Groups")) + "\n\t\t")
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "subadmins", attrs: { id: "headerSubAdmins" } },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Group admin for")) +
|
||
|
"\n\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "quota", attrs: { id: "headerQuota" } }, [
|
||
|
_vm._v("\n\t\t\t" + _vm._s(_vm.t("settings", "Quota")) + "\n\t\t")
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLanguages
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "languages", attrs: { id: "headerLanguages" } },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Language")) +
|
||
|
"\n\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath
|
||
|
? _c("div", { staticClass: "headerUserBackend userBackend" }, [
|
||
|
_vm.showConfig.showUserBackend
|
||
|
? _c("div", { staticClass: "userBackend" }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "User backend")) +
|
||
|
"\n\t\t\t"
|
||
|
)
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showStoragePath
|
||
|
? _c("div", { staticClass: "subtitle storageLocation" }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Storage location")) +
|
||
|
"\n\t\t\t"
|
||
|
)
|
||
|
])
|
||
|
: _vm._e()
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLastLogin
|
||
|
? _c("div", { staticClass: "headerLastLogin lastLogin" }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Last login")) +
|
||
|
"\n\t\t"
|
||
|
)
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "userActions" })
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm._l(_vm.filteredUsers, function(user, key) {
|
||
|
return _c("user-row", {
|
||
|
key: key,
|
||
|
attrs: {
|
||
|
"external-actions": _vm.externalActions,
|
||
|
groups: _vm.groups,
|
||
|
languages: _vm.languages,
|
||
|
"quota-options": _vm.quotaOptions,
|
||
|
settings: _vm.settings,
|
||
|
"show-config": _vm.showConfig,
|
||
|
"sub-admins-groups": _vm.subAdminsGroups,
|
||
|
user: user
|
||
|
}
|
||
|
})
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"InfiniteLoading",
|
||
|
{ ref: "infiniteLoading", on: { infinite: _vm.infiniteHandler } },
|
||
|
[
|
||
|
_c("div", { attrs: { slot: "spinner" }, slot: "spinner" }, [
|
||
|
_c("div", { staticClass: "users-icon-loading icon-loading" })
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { attrs: { slot: "no-more" }, slot: "no-more" }, [
|
||
|
_c("div", { staticClass: "users-list-end" })
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { attrs: { slot: "no-results" }, slot: "no-results" }, [
|
||
|
_c("div", { attrs: { id: "emptycontent" } }, [
|
||
|
_c("div", { staticClass: "icon-contacts-dark" }),
|
||
|
_vm._v(" "),
|
||
|
_c("h2", [_vm._v(_vm._s(_vm.t("settings", "No users in here")))])
|
||
|
])
|
||
|
])
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
2
|
||
|
)
|
||
|
}
|
||
|
var staticRenderFns = []
|
||
|
render._withStripped = true
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&":
|
||
|
/*!************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true& ***!
|
||
|
\************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
|
||
|
var render = function() {
|
||
|
var _vm = this
|
||
|
var _h = _vm.$createElement
|
||
|
var _c = _vm._self._c || _h
|
||
|
return Object.keys(_vm.user).length === 1
|
||
|
? _c("div", { staticClass: "row", attrs: { "data-id": _vm.user.id } }, [
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "avatar",
|
||
|
class: {
|
||
|
"icon-loading-small":
|
||
|
_vm.loading.delete || _vm.loading.disable || _vm.loading.wipe
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
!_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe
|
||
|
? _c("img", {
|
||
|
attrs: {
|
||
|
src: _vm.generateAvatar(_vm.user.id, 32),
|
||
|
srcset:
|
||
|
_vm.generateAvatar(_vm.user.id, 64) +
|
||
|
" 2x, " +
|
||
|
_vm.generateAvatar(_vm.user.id, 128) +
|
||
|
" 4x",
|
||
|
alt: "",
|
||
|
height: "32",
|
||
|
width: "32"
|
||
|
}
|
||
|
})
|
||
|
: _vm._e()
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "name" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.user.id) + "\n\t")
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "obfuscated" }, [
|
||
|
_vm._v(
|
||
|
"\n\t\t" +
|
||
|
_vm._s(
|
||
|
_vm.t(
|
||
|
"settings",
|
||
|
"You do not have permissions to see the details of this user"
|
||
|
)
|
||
|
) +
|
||
|
"\n\t"
|
||
|
)
|
||
|
])
|
||
|
])
|
||
|
: !_vm.editing
|
||
|
? _c("UserRowSimple", {
|
||
|
class: { "row--menu-opened": _vm.openedMenu },
|
||
|
attrs: {
|
||
|
editing: _vm.editing,
|
||
|
"feedback-message": _vm.feedbackMessage,
|
||
|
groups: _vm.groups,
|
||
|
languages: _vm.languages,
|
||
|
loading: _vm.loading,
|
||
|
"opened-menu": _vm.openedMenu,
|
||
|
settings: _vm.settings,
|
||
|
"show-config": _vm.showConfig,
|
||
|
"sub-admins-groups": _vm.subAdminsGroups,
|
||
|
"user-actions": _vm.userActions,
|
||
|
user: _vm.user
|
||
|
},
|
||
|
on: {
|
||
|
"update:editing": function($event) {
|
||
|
_vm.editing = $event
|
||
|
},
|
||
|
hideMenu: _vm.hideMenu,
|
||
|
toggleMenu: _vm.toggleMenu
|
||
|
}
|
||
|
})
|
||
|
: _c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "row row--editable",
|
||
|
class: {
|
||
|
disabled: _vm.loading.delete || _vm.loading.disable,
|
||
|
"row--menu-opened": _vm.openedMenu
|
||
|
},
|
||
|
attrs: { "data-id": _vm.user.id }
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "avatar",
|
||
|
class: {
|
||
|
"icon-loading-small":
|
||
|
_vm.loading.delete || _vm.loading.disable || _vm.loading.wipe
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
!_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe
|
||
|
? _c("img", {
|
||
|
attrs: {
|
||
|
src: _vm.generateAvatar(_vm.user.id, 32),
|
||
|
srcset:
|
||
|
_vm.generateAvatar(_vm.user.id, 64) +
|
||
|
" 2x, " +
|
||
|
_vm.generateAvatar(_vm.user.id, 128) +
|
||
|
" 4x",
|
||
|
alt: "",
|
||
|
height: "32",
|
||
|
width: "32"
|
||
|
}
|
||
|
})
|
||
|
: _vm._e()
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.user.backendCapabilities.setDisplayName
|
||
|
? _c("div", { staticClass: "displayName" }, [
|
||
|
_c(
|
||
|
"form",
|
||
|
{
|
||
|
staticClass: "displayName",
|
||
|
class: { "icon-loading-small": _vm.loading.displayName },
|
||
|
on: {
|
||
|
submit: function($event) {
|
||
|
$event.preventDefault()
|
||
|
return _vm.updateDisplayName($event)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c("input", {
|
||
|
ref: "displayName",
|
||
|
attrs: {
|
||
|
id: "displayName" + _vm.user.id + _vm.rand,
|
||
|
disabled: _vm.loading.displayName || _vm.loading.all,
|
||
|
autocapitalize: "off",
|
||
|
autocomplete: "off",
|
||
|
autocorrect: "off",
|
||
|
spellcheck: "false",
|
||
|
type: "text"
|
||
|
},
|
||
|
domProps: { value: _vm.user.displayname }
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("input", {
|
||
|
staticClass: "icon-confirm",
|
||
|
attrs: { type: "submit", value: "" }
|
||
|
})
|
||
|
]
|
||
|
)
|
||
|
])
|
||
|
: _c("div", { staticClass: "name" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.user.id) + "\n\t\t"),
|
||
|
_c("div", { staticClass: "displayName subtitle" }, [
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip",
|
||
|
value:
|
||
|
_vm.user.displayname.length > 20
|
||
|
? _vm.user.displayname
|
||
|
: "",
|
||
|
expression:
|
||
|
"user.displayname.length > 20 ? user.displayname : ''"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "cellText"
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t" + _vm._s(_vm.user.displayname) + "\n\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_vm.settings.canChangePassword &&
|
||
|
_vm.user.backendCapabilities.setPassword
|
||
|
? _c(
|
||
|
"form",
|
||
|
{
|
||
|
staticClass: "password",
|
||
|
class: { "icon-loading-small": _vm.loading.password },
|
||
|
on: {
|
||
|
submit: function($event) {
|
||
|
$event.preventDefault()
|
||
|
return _vm.updatePassword($event)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c("input", {
|
||
|
ref: "password",
|
||
|
attrs: {
|
||
|
id: "password" + _vm.user.id + _vm.rand,
|
||
|
disabled: _vm.loading.password || _vm.loading.all,
|
||
|
minlength: _vm.minPasswordLength,
|
||
|
placeholder: _vm.t("settings", "Add new password"),
|
||
|
autocapitalize: "off",
|
||
|
autocomplete: "new-password",
|
||
|
autocorrect: "off",
|
||
|
required: "",
|
||
|
spellcheck: "false",
|
||
|
type: "password",
|
||
|
value: ""
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("input", {
|
||
|
staticClass: "icon-confirm",
|
||
|
attrs: { type: "submit", value: "" }
|
||
|
})
|
||
|
]
|
||
|
)
|
||
|
: _c("div"),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"form",
|
||
|
{
|
||
|
staticClass: "mailAddress",
|
||
|
class: { "icon-loading-small": _vm.loading.mailAddress },
|
||
|
on: {
|
||
|
submit: function($event) {
|
||
|
$event.preventDefault()
|
||
|
return _vm.updateEmail($event)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c("input", {
|
||
|
ref: "mailAddress",
|
||
|
attrs: {
|
||
|
id: "mailAddress" + _vm.user.id + _vm.rand,
|
||
|
disabled: _vm.loading.mailAddress || _vm.loading.all,
|
||
|
placeholder: _vm.t("settings", "Add new email address"),
|
||
|
autocapitalize: "off",
|
||
|
autocomplete: "new-password",
|
||
|
autocorrect: "off",
|
||
|
spellcheck: "false",
|
||
|
type: "email"
|
||
|
},
|
||
|
domProps: { value: _vm.user.email }
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("input", {
|
||
|
staticClass: "icon-confirm",
|
||
|
attrs: { type: "submit", value: "" }
|
||
|
})
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "groups",
|
||
|
class: { "icon-loading-small": _vm.loading.groups }
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"Multiselect",
|
||
|
{
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"close-on-select": false,
|
||
|
disabled: _vm.loading.groups || _vm.loading.all,
|
||
|
limit: 2,
|
||
|
multiple: true,
|
||
|
options: _vm.availableGroups,
|
||
|
placeholder: _vm.t("settings", "Add user in group"),
|
||
|
"tag-width": 60,
|
||
|
taggable: _vm.settings.isAdmin,
|
||
|
value: _vm.userGroups,
|
||
|
label: "name",
|
||
|
"tag-placeholder": "create",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
on: {
|
||
|
remove: _vm.removeUserGroup,
|
||
|
select: _vm.addUserGroup,
|
||
|
tag: _vm.createGroup
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"span",
|
||
|
{ attrs: { slot: "noResult" }, slot: "noResult" },
|
||
|
[_vm._v(_vm._s(_vm.t("settings", "No results")))]
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin
|
||
|
? _c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "subadmins",
|
||
|
class: { "icon-loading-small": _vm.loading.subadmins }
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"Multiselect",
|
||
|
{
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"close-on-select": false,
|
||
|
disabled: _vm.loading.subadmins || _vm.loading.all,
|
||
|
limit: 2,
|
||
|
multiple: true,
|
||
|
options: _vm.subAdminsGroups,
|
||
|
placeholder: _vm.t("settings", "Set user as admin for"),
|
||
|
"tag-width": 60,
|
||
|
value: _vm.userSubAdminsGroups,
|
||
|
label: "name",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
on: {
|
||
|
remove: _vm.removeUserSubAdmin,
|
||
|
select: _vm.addUserSubAdmin
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"span",
|
||
|
{ attrs: { slot: "noResult" }, slot: "noResult" },
|
||
|
[_vm._v(_vm._s(_vm.t("settings", "No results")))]
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip.auto",
|
||
|
value: _vm.usedSpace,
|
||
|
expression: "usedSpace",
|
||
|
modifiers: { auto: true }
|
||
|
}
|
||
|
],
|
||
|
staticClass: "quota",
|
||
|
class: { "icon-loading-small": _vm.loading.quota }
|
||
|
},
|
||
|
[
|
||
|
_c("Multiselect", {
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"allow-empty": false,
|
||
|
disabled: _vm.loading.quota || _vm.loading.all,
|
||
|
options: _vm.quotaOptions,
|
||
|
placeholder: _vm.t("settings", "Select user quota"),
|
||
|
taggable: true,
|
||
|
value: _vm.userQuota,
|
||
|
label: "label",
|
||
|
"tag-placeholder": "create",
|
||
|
"track-by": "id"
|
||
|
},
|
||
|
on: { input: _vm.setUserQuota, tag: _vm.validateQuota }
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLanguages
|
||
|
? _c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "languages",
|
||
|
class: { "icon-loading-small": _vm.loading.languages }
|
||
|
},
|
||
|
[
|
||
|
_c("Multiselect", {
|
||
|
staticClass: "multiselect-vue",
|
||
|
attrs: {
|
||
|
"allow-empty": false,
|
||
|
disabled: _vm.loading.languages || _vm.loading.all,
|
||
|
options: _vm.languages,
|
||
|
placeholder: _vm.t("settings", "No language set"),
|
||
|
value: _vm.userLanguage,
|
||
|
"group-label": "label",
|
||
|
"group-values": "languages",
|
||
|
label: "name",
|
||
|
"track-by": "code"
|
||
|
},
|
||
|
on: { input: _vm.setUserLanguage }
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showStoragePath || _vm.showConfig.showUserBackend
|
||
|
? _c("div", { staticClass: "storageLocation" })
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLastLogin ? _c("div") : _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "userActions" }, [
|
||
|
_vm.OC.currentUser !== _vm.user.id &&
|
||
|
_vm.user.id !== "admin" &&
|
||
|
!_vm.loading.all
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "toggleUserActions" },
|
||
|
[
|
||
|
_c(
|
||
|
"Actions",
|
||
|
[
|
||
|
_c(
|
||
|
"ActionButton",
|
||
|
{
|
||
|
attrs: { icon: "icon-checkmark" },
|
||
|
on: {
|
||
|
click: function($event) {
|
||
|
_vm.editing = false
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Done")) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "click-outside",
|
||
|
rawName: "v-click-outside",
|
||
|
value: _vm.hideMenu,
|
||
|
expression: "hideMenu"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "userPopoverMenuWrapper"
|
||
|
},
|
||
|
[
|
||
|
_c("div", {
|
||
|
staticClass: "icon-more",
|
||
|
on: { click: _vm.toggleMenu }
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "popovermenu",
|
||
|
class: { open: _vm.openedMenu }
|
||
|
},
|
||
|
[
|
||
|
_c("PopoverMenu", {
|
||
|
attrs: { menu: _vm.userActions }
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "feedback",
|
||
|
style: { opacity: _vm.feedbackMessage !== "" ? 1 : 0 }
|
||
|
},
|
||
|
[
|
||
|
_c("div", { staticClass: "icon-checkmark" }),
|
||
|
_vm._v("\n\t\t\t" + _vm._s(_vm.feedbackMessage) + "\n\t\t")
|
||
|
]
|
||
|
)
|
||
|
])
|
||
|
]
|
||
|
)
|
||
|
}
|
||
|
var staticRenderFns = []
|
||
|
render._withStripped = true
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true&":
|
||
|
/*!******************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&scoped=true& ***!
|
||
|
\******************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
|
||
|
var render = function() {
|
||
|
var _vm = this
|
||
|
var _h = _vm.$createElement
|
||
|
var _c = _vm._self._c || _h
|
||
|
return _c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "row",
|
||
|
class: { disabled: _vm.loading.delete || _vm.loading.disable },
|
||
|
attrs: { "data-id": _vm.user.id }
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "avatar",
|
||
|
class: {
|
||
|
"icon-loading-small":
|
||
|
_vm.loading.delete || _vm.loading.disable || _vm.loading.wipe
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
!_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe
|
||
|
? _c("img", {
|
||
|
attrs: {
|
||
|
alt: "",
|
||
|
width: "32",
|
||
|
height: "32",
|
||
|
src: _vm.generateAvatar(_vm.user.id, 32),
|
||
|
srcset:
|
||
|
_vm.generateAvatar(_vm.user.id, 64) +
|
||
|
" 2x, " +
|
||
|
_vm.generateAvatar(_vm.user.id, 128) +
|
||
|
" 4x"
|
||
|
}
|
||
|
})
|
||
|
: _vm._e()
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "name" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.user.id) + "\n\t\t"),
|
||
|
_c("div", { staticClass: "displayName subtitle" }, [
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip",
|
||
|
value:
|
||
|
_vm.user.displayname.length > 20
|
||
|
? _vm.user.displayname
|
||
|
: "",
|
||
|
expression:
|
||
|
"user.displayname.length > 20 ? user.displayname : ''"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "cellText"
|
||
|
},
|
||
|
[_vm._v("\n\t\t\t\t" + _vm._s(_vm.user.displayname) + "\n\t\t\t")]
|
||
|
)
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div"),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "mailAddress" }, [
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip",
|
||
|
value:
|
||
|
_vm.user.email !== null && _vm.user.email.length > 20
|
||
|
? _vm.user.email
|
||
|
: "",
|
||
|
expression:
|
||
|
"user.email !== null && user.email.length > 20 ? user.email : ''"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "cellText"
|
||
|
},
|
||
|
[_vm._v("\n\t\t\t" + _vm._s(_vm.user.email) + "\n\t\t")]
|
||
|
)
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "groups" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.userGroupsLabels) + "\n\t")
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin
|
||
|
? _c("div", { staticClass: "subAdminsGroups" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.userSubAdminsGroupsLabels) + "\n\t")
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip.auto",
|
||
|
value: _vm.usedSpace,
|
||
|
expression: "usedSpace",
|
||
|
modifiers: { auto: true }
|
||
|
}
|
||
|
],
|
||
|
staticClass: "quota"
|
||
|
},
|
||
|
[
|
||
|
_c("progress", {
|
||
|
staticClass: "quota-user-progress",
|
||
|
class: { warn: _vm.usedQuota > 80 },
|
||
|
attrs: { max: "100" },
|
||
|
domProps: { value: _vm.usedQuota }
|
||
|
})
|
||
|
]
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLanguages
|
||
|
? _c("div", { staticClass: "languages" }, [
|
||
|
_vm._v("\n\t\t" + _vm._s(_vm.userLanguage.name) + "\n\t")
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath
|
||
|
? _c("div", { staticClass: "userBackend" }, [
|
||
|
_vm.showConfig.showUserBackend
|
||
|
? _c("div", { staticClass: "userBackend" }, [
|
||
|
_vm._v("\n\t\t\t" + _vm._s(_vm.user.backend) + "\n\t\t")
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showStoragePath
|
||
|
? _c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip",
|
||
|
value: _vm.user.storageLocation,
|
||
|
expression: "user.storageLocation"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "storageLocation subtitle"
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t" + _vm._s(_vm.user.storageLocation) + "\n\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e()
|
||
|
])
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.showConfig.showLastLogin
|
||
|
? _c(
|
||
|
"div",
|
||
|
{
|
||
|
directives: [
|
||
|
{
|
||
|
name: "tooltip",
|
||
|
rawName: "v-tooltip.auto",
|
||
|
value: _vm.userLastLoginTooltip,
|
||
|
expression: "userLastLoginTooltip",
|
||
|
modifiers: { auto: true }
|
||
|
}
|
||
|
],
|
||
|
staticClass: "lastLogin"
|
||
|
},
|
||
|
[_vm._v("\n\t\t" + _vm._s(_vm.userLastLogin) + "\n\t")]
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "userActions" }, [
|
||
|
_vm.canEdit && !_vm.loading.all
|
||
|
? _c(
|
||
|
"div",
|
||
|
{ staticClass: "toggleUserActions" },
|
||
|
[
|
||
|
_c(
|
||
|
"Actions",
|
||
|
[
|
||
|
_c(
|
||
|
"ActionButton",
|
||
|
{
|
||
|
attrs: { icon: "icon-rename" },
|
||
|
on: { click: _vm.toggleEdit }
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Edit User")) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("div", { staticClass: "userPopoverMenuWrapper" }, [
|
||
|
_c("div", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "click-outside",
|
||
|
rawName: "v-click-outside",
|
||
|
value: _vm.hideMenu,
|
||
|
expression: "hideMenu"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "icon-more",
|
||
|
on: {
|
||
|
click: function($event) {
|
||
|
return _vm.$emit("toggleMenu")
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "popovermenu",
|
||
|
class: { open: _vm.openedMenu }
|
||
|
},
|
||
|
[_c("PopoverMenu", { attrs: { menu: _vm.userActions } })],
|
||
|
1
|
||
|
)
|
||
|
])
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"div",
|
||
|
{
|
||
|
staticClass: "feedback",
|
||
|
style: { opacity: _vm.feedbackMessage !== "" ? 1 : 0 }
|
||
|
},
|
||
|
[
|
||
|
_c("div", { staticClass: "icon-checkmark" }),
|
||
|
_vm._v("\n\t\t\t" + _vm._s(_vm.feedbackMessage) + "\n\t\t")
|
||
|
]
|
||
|
)
|
||
|
])
|
||
|
]
|
||
|
)
|
||
|
}
|
||
|
var staticRenderFns = []
|
||
|
render._withStripped = true
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&":
|
||
|
/*!********************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true& ***!
|
||
|
\********************************************************************************************************************************************************************************************************************/
|
||
|
/*! exports provided: render, staticRenderFns */
|
||
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
|
||
|
"use strict";
|
||
|
__webpack_require__.r(__webpack_exports__);
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
|
||
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
|
||
|
var render = function() {
|
||
|
var _vm = this
|
||
|
var _h = _vm.$createElement
|
||
|
var _c = _vm._self._c || _h
|
||
|
return _c(
|
||
|
"Content",
|
||
|
{
|
||
|
attrs: {
|
||
|
"app-name": "settings",
|
||
|
"navigation-class": { "icon-loading": _vm.loadingAddGroup }
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_c(
|
||
|
"AppNavigation",
|
||
|
[
|
||
|
_c("AppNavigationNew", {
|
||
|
attrs: {
|
||
|
"button-id": "new-user-button",
|
||
|
text: _vm.t("settings", "New user"),
|
||
|
"button-class": "icon-add"
|
||
|
},
|
||
|
on: { click: _vm.toggleNewUserMenu }
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"ul",
|
||
|
{ attrs: { id: "usergrouplist" } },
|
||
|
[
|
||
|
_c("AppNavigationItem", {
|
||
|
ref: "addGroup",
|
||
|
attrs: {
|
||
|
id: "addgroup",
|
||
|
"edit-placeholder": _vm.t("settings", "Enter group name"),
|
||
|
editable: true,
|
||
|
loading: _vm.loadingAddGroup,
|
||
|
title: _vm.t("settings", "Add group"),
|
||
|
icon: "icon-add"
|
||
|
},
|
||
|
on: {
|
||
|
click: function($event) {
|
||
|
return _vm.toggleAddGroupEntry(true)
|
||
|
},
|
||
|
"update:title": _vm.createGroup
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"AppNavigationItem",
|
||
|
{
|
||
|
attrs: {
|
||
|
id: "everyone",
|
||
|
exact: true,
|
||
|
title: _vm.t("settings", "Everyone"),
|
||
|
to: { name: "users" },
|
||
|
icon: "icon-contacts-dark"
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_vm.userCount > 0
|
||
|
? _c(
|
||
|
"AppNavigationCounter",
|
||
|
{ attrs: { slot: "counter" }, slot: "counter" },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(_vm.userCount) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e()
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"AppNavigationItem",
|
||
|
{
|
||
|
attrs: {
|
||
|
id: "admin",
|
||
|
exact: true,
|
||
|
title: _vm.t("settings", "Admins"),
|
||
|
to: { name: "users", params: { selectedGroup: "admin" } },
|
||
|
icon: "icon-user-admin"
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_vm.adminGroupMenu.count
|
||
|
? _c(
|
||
|
"AppNavigationCounter",
|
||
|
{ attrs: { slot: "counter" }, slot: "counter" },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(_vm.adminGroupMenu.count) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e()
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_vm.disabledGroupMenu.usercount > 0 ||
|
||
|
_vm.disabledGroupMenu.usercount === -1
|
||
|
? _c(
|
||
|
"AppNavigationItem",
|
||
|
{
|
||
|
attrs: {
|
||
|
id: "disabled",
|
||
|
exact: true,
|
||
|
title: _vm.t("settings", "Disabled users"),
|
||
|
to: {
|
||
|
name: "users",
|
||
|
params: { selectedGroup: "disabled" }
|
||
|
},
|
||
|
icon: "icon-disabled-users"
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_vm.disabledGroupMenu.usercount > 0
|
||
|
? _c(
|
||
|
"AppNavigationCounter",
|
||
|
{ attrs: { slot: "counter" }, slot: "counter" },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(_vm.disabledGroupMenu.usercount) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e()
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm.groupList.length > 0
|
||
|
? _c("AppNavigationCaption", {
|
||
|
attrs: { title: _vm.t("settings", "Groups") }
|
||
|
})
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_vm._l(_vm.groupList, function(group) {
|
||
|
return _c(
|
||
|
"AppNavigationItem",
|
||
|
{
|
||
|
key: group.id,
|
||
|
attrs: {
|
||
|
exact: true,
|
||
|
title: group.title,
|
||
|
to: { name: "users", params: { selectedGroup: group.id } }
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
group.count
|
||
|
? _c(
|
||
|
"AppNavigationCounter",
|
||
|
{ attrs: { slot: "counter" }, slot: "counter" },
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t" +
|
||
|
_vm._s(group.count) +
|
||
|
"\n\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e(),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"template",
|
||
|
{ slot: "actions" },
|
||
|
[
|
||
|
group.id !== "admin" &&
|
||
|
group.id !== "disabled" &&
|
||
|
_vm.settings.isAdmin
|
||
|
? _c(
|
||
|
"ActionButton",
|
||
|
{
|
||
|
attrs: { icon: "icon-delete" },
|
||
|
on: {
|
||
|
click: function($event) {
|
||
|
return _vm.removeGroup(group.id)
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
[
|
||
|
_vm._v(
|
||
|
"\n\t\t\t\t\t\t" +
|
||
|
_vm._s(_vm.t("settings", "Remove group")) +
|
||
|
"\n\t\t\t\t\t"
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
: _vm._e()
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
],
|
||
|
2
|
||
|
)
|
||
|
})
|
||
|
],
|
||
|
2
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("AppNavigationSettings", [
|
||
|
_c(
|
||
|
"div",
|
||
|
[
|
||
|
_c("p", [_vm._v(_vm._s(_vm.t("settings", "Default quota:")))]),
|
||
|
_vm._v(" "),
|
||
|
_c("Multiselect", {
|
||
|
attrs: {
|
||
|
value: _vm.defaultQuota,
|
||
|
options: _vm.quotaOptions,
|
||
|
"tag-placeholder": "create",
|
||
|
placeholder: _vm.t("settings", "Select default quota"),
|
||
|
label: "label",
|
||
|
"track-by": "id",
|
||
|
"allow-empty": false,
|
||
|
taggable: true
|
||
|
},
|
||
|
on: { tag: _vm.validateQuota, input: _vm.setDefaultQuota }
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c("div", [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.showLanguages,
|
||
|
expression: "showLanguages"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "checkbox",
|
||
|
attrs: { id: "showLanguages", type: "checkbox" },
|
||
|
domProps: {
|
||
|
checked: Array.isArray(_vm.showLanguages)
|
||
|
? _vm._i(_vm.showLanguages, null) > -1
|
||
|
: _vm.showLanguages
|
||
|
},
|
||
|
on: {
|
||
|
change: function($event) {
|
||
|
var $$a = _vm.showLanguages,
|
||
|
$$el = $event.target,
|
||
|
$$c = $$el.checked ? true : false
|
||
|
if (Array.isArray($$a)) {
|
||
|
var $$v = null,
|
||
|
$$i = _vm._i($$a, $$v)
|
||
|
if ($$el.checked) {
|
||
|
$$i < 0 && (_vm.showLanguages = $$a.concat([$$v]))
|
||
|
} else {
|
||
|
$$i > -1 &&
|
||
|
(_vm.showLanguages = $$a
|
||
|
.slice(0, $$i)
|
||
|
.concat($$a.slice($$i + 1)))
|
||
|
}
|
||
|
} else {
|
||
|
_vm.showLanguages = $$c
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("label", { attrs: { for: "showLanguages" } }, [
|
||
|
_vm._v(_vm._s(_vm.t("settings", "Show Languages")))
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.showLastLogin,
|
||
|
expression: "showLastLogin"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "checkbox",
|
||
|
attrs: { id: "showLastLogin", type: "checkbox" },
|
||
|
domProps: {
|
||
|
checked: Array.isArray(_vm.showLastLogin)
|
||
|
? _vm._i(_vm.showLastLogin, null) > -1
|
||
|
: _vm.showLastLogin
|
||
|
},
|
||
|
on: {
|
||
|
change: function($event) {
|
||
|
var $$a = _vm.showLastLogin,
|
||
|
$$el = $event.target,
|
||
|
$$c = $$el.checked ? true : false
|
||
|
if (Array.isArray($$a)) {
|
||
|
var $$v = null,
|
||
|
$$i = _vm._i($$a, $$v)
|
||
|
if ($$el.checked) {
|
||
|
$$i < 0 && (_vm.showLastLogin = $$a.concat([$$v]))
|
||
|
} else {
|
||
|
$$i > -1 &&
|
||
|
(_vm.showLastLogin = $$a
|
||
|
.slice(0, $$i)
|
||
|
.concat($$a.slice($$i + 1)))
|
||
|
}
|
||
|
} else {
|
||
|
_vm.showLastLogin = $$c
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("label", { attrs: { for: "showLastLogin" } }, [
|
||
|
_vm._v(_vm._s(_vm.t("settings", "Show last login")))
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.showUserBackend,
|
||
|
expression: "showUserBackend"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "checkbox",
|
||
|
attrs: { id: "showUserBackend", type: "checkbox" },
|
||
|
domProps: {
|
||
|
checked: Array.isArray(_vm.showUserBackend)
|
||
|
? _vm._i(_vm.showUserBackend, null) > -1
|
||
|
: _vm.showUserBackend
|
||
|
},
|
||
|
on: {
|
||
|
change: function($event) {
|
||
|
var $$a = _vm.showUserBackend,
|
||
|
$$el = $event.target,
|
||
|
$$c = $$el.checked ? true : false
|
||
|
if (Array.isArray($$a)) {
|
||
|
var $$v = null,
|
||
|
$$i = _vm._i($$a, $$v)
|
||
|
if ($$el.checked) {
|
||
|
$$i < 0 && (_vm.showUserBackend = $$a.concat([$$v]))
|
||
|
} else {
|
||
|
$$i > -1 &&
|
||
|
(_vm.showUserBackend = $$a
|
||
|
.slice(0, $$i)
|
||
|
.concat($$a.slice($$i + 1)))
|
||
|
}
|
||
|
} else {
|
||
|
_vm.showUserBackend = $$c
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("label", { attrs: { for: "showUserBackend" } }, [
|
||
|
_vm._v(_vm._s(_vm.t("settings", "Show user backend")))
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.showStoragePath,
|
||
|
expression: "showStoragePath"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "checkbox",
|
||
|
attrs: { id: "showStoragePath", type: "checkbox" },
|
||
|
domProps: {
|
||
|
checked: Array.isArray(_vm.showStoragePath)
|
||
|
? _vm._i(_vm.showStoragePath, null) > -1
|
||
|
: _vm.showStoragePath
|
||
|
},
|
||
|
on: {
|
||
|
change: function($event) {
|
||
|
var $$a = _vm.showStoragePath,
|
||
|
$$el = $event.target,
|
||
|
$$c = $$el.checked ? true : false
|
||
|
if (Array.isArray($$a)) {
|
||
|
var $$v = null,
|
||
|
$$i = _vm._i($$a, $$v)
|
||
|
if ($$el.checked) {
|
||
|
$$i < 0 && (_vm.showStoragePath = $$a.concat([$$v]))
|
||
|
} else {
|
||
|
$$i > -1 &&
|
||
|
(_vm.showStoragePath = $$a
|
||
|
.slice(0, $$i)
|
||
|
.concat($$a.slice($$i + 1)))
|
||
|
}
|
||
|
} else {
|
||
|
_vm.showStoragePath = $$c
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("label", { attrs: { for: "showStoragePath" } }, [
|
||
|
_vm._v(_vm._s(_vm.t("settings", "Show storage path")))
|
||
|
])
|
||
|
]),
|
||
|
_vm._v(" "),
|
||
|
_c("div", [
|
||
|
_c("input", {
|
||
|
directives: [
|
||
|
{
|
||
|
name: "model",
|
||
|
rawName: "v-model",
|
||
|
value: _vm.sendWelcomeMail,
|
||
|
expression: "sendWelcomeMail"
|
||
|
}
|
||
|
],
|
||
|
staticClass: "checkbox",
|
||
|
attrs: {
|
||
|
id: "sendWelcomeMail",
|
||
|
disabled: _vm.loadingSendMail,
|
||
|
type: "checkbox"
|
||
|
},
|
||
|
domProps: {
|
||
|
checked: Array.isArray(_vm.sendWelcomeMail)
|
||
|
? _vm._i(_vm.sendWelcomeMail, null) > -1
|
||
|
: _vm.sendWelcomeMail
|
||
|
},
|
||
|
on: {
|
||
|
change: function($event) {
|
||
|
var $$a = _vm.sendWelcomeMail,
|
||
|
$$el = $event.target,
|
||
|
$$c = $$el.checked ? true : false
|
||
|
if (Array.isArray($$a)) {
|
||
|
var $$v = null,
|
||
|
$$i = _vm._i($$a, $$v)
|
||
|
if ($$el.checked) {
|
||
|
$$i < 0 && (_vm.sendWelcomeMail = $$a.concat([$$v]))
|
||
|
} else {
|
||
|
$$i > -1 &&
|
||
|
(_vm.sendWelcomeMail = $$a
|
||
|
.slice(0, $$i)
|
||
|
.concat($$a.slice($$i + 1)))
|
||
|
}
|
||
|
} else {
|
||
|
_vm.sendWelcomeMail = $$c
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
_vm._v(" "),
|
||
|
_c("label", { attrs: { for: "sendWelcomeMail" } }, [
|
||
|
_vm._v(_vm._s(_vm.t("settings", "Send email to new user")))
|
||
|
])
|
||
|
])
|
||
|
])
|
||
|
],
|
||
|
1
|
||
|
),
|
||
|
_vm._v(" "),
|
||
|
_c(
|
||
|
"AppContent",
|
||
|
[
|
||
|
_c("UserList", {
|
||
|
attrs: {
|
||
|
users: _vm.users,
|
||
|
"show-config": _vm.showConfig,
|
||
|
"selected-group": _vm.selectedGroup,
|
||
|
"external-actions": _vm.externalActions
|
||
|
},
|
||
|
scopedSlots: _vm._u([
|
||
|
{
|
||
|
key: "content",
|
||
|
fn: function() {
|
||
|
return undefined
|
||
|
},
|
||
|
proxy: true
|
||
|
}
|
||
|
])
|
||
|
})
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
],
|
||
|
1
|
||
|
)
|
||
|
}
|
||
|
var staticRenderFns = []
|
||
|
render._withStripped = true
|
||
|
|
||
|
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&":
|
||
|
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& ***!
|
||
|
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
||
|
|
||
|
// load the styles
|
||
|
var content = __webpack_require__(/*! !../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&");
|
||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
||
|
if(content.locals) module.exports = content.locals;
|
||
|
// add the styles to the DOM
|
||
|
var add = __webpack_require__(/*! ../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
|
||
|
var update = add("beab2b2c", content, false, {});
|
||
|
// Hot Module Replacement
|
||
|
if(false) {}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&":
|
||
|
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& ***!
|
||
|
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
||
|
|
||
|
// load the styles
|
||
|
var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib??vue-loader-options!./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&");
|
||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
||
|
if(content.locals) module.exports = content.locals;
|
||
|
// add the styles to the DOM
|
||
|
var add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
|
||
|
var update = add("79fad0e8", content, false, {});
|
||
|
// Hot Module Replacement
|
||
|
if(false) {}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&":
|
||
|
/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& ***!
|
||
|
\*********************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
||
|
|
||
|
// load the styles
|
||
|
var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&");
|
||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
||
|
if(content.locals) module.exports = content.locals;
|
||
|
// add the styles to the DOM
|
||
|
var add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
|
||
|
var update = add("d930abf6", content, false, {});
|
||
|
// Hot Module Replacement
|
||
|
if(false) {}
|
||
|
|
||
|
/***/ }),
|
||
|
|
||
|
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&":
|
||
|
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
|
!*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& ***!
|
||
|
\***********************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
|
/*! no static exports found */
|
||
|
/***/ (function(module, exports, __webpack_require__) {
|
||
|
|
||
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
||
|
|
||
|
// load the styles
|
||
|
var content = __webpack_require__(/*! !../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css& */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&id=ff154a08&scoped=true&lang=css&");
|
||
|
if(typeof content === 'string') content = [[module.i, content, '']];
|
||
|
if(content.locals) module.exports = content.locals;
|
||
|
// add the styles to the DOM
|
||
|
var add = __webpack_require__(/*! ../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
|
||
|
var update = add("70cdb6d6", content, false, {});
|
||
|
// Hot Module Replacement
|
||
|
if(false) {}
|
||
|
|
||
|
/***/ })
|
||
|
|
||
|
}]);
|
||
|
//# sourceMappingURL=vue-3.js.map?v=0cf737453870fce88597
|