\n\t\t\t\n\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=5556664d&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\ No newline at end of file
diff --git a/settings/src/components/userList.vue b/settings/src/components/userList.vue
index a9c7391d0e..a075383e3d 100644
--- a/settings/src/components/userList.vue
+++ b/settings/src/components/userList.vue
@@ -141,6 +141,28 @@ import { Multiselect } from 'nextcloud-vue'
import InfiniteLoading from 'vue-infinite-loading';
import Vue from 'vue';
+const unlimitedQuota = {
+ id: 'none',
+ label: t('settings', 'Unlimited')
+}
+const defaultQuota = {
+ id: 'default',
+ label: t('settings', 'Default quota')
+}
+const newUser = {
+ id: '',
+ displayName: '',
+ password: '',
+ mailAddress: '',
+ groups: [],
+ subAdminsGroups: [],
+ quota: defaultQuota,
+ language: {
+ code: 'en',
+ name: t('settings', 'Default language')
+ }
+}
+
export default {
name: 'userList',
props: ['users', 'showConfig', 'selectedGroup', 'externalActions'],
@@ -150,27 +172,16 @@ export default {
InfiniteLoading
},
data() {
- let unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},
- defaultQuota = {id:'default', label:t('settings', 'Default quota')};
return {
- unlimitedQuota: unlimitedQuota,
- defaultQuota: defaultQuota,
+ unlimitedQuota,
+ defaultQuota,
loading: {
all: false,
groups: false
},
scrolled: false,
searchQuery: '',
- newUser: {
- id:'',
- displayName:'',
- password:'',
- mailAddress:'',
- groups: [],
- subAdminsGroups: [],
- quota: defaultQuota,
- language: {code: 'en', name: t('settings', 'Default language')}
- }
+ newUser: Object.assign({}, newUser)
};
},
mounted() {
@@ -178,18 +189,10 @@ export default {
OC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));
}
- /**
- * 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
- */
- Vue.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.
+ * Reset and init new user form
*/
- this.setNewUserDefaultGroup(this.selectedGroup);
+ this.resetForm()
/**
* Register search
@@ -203,9 +206,9 @@ export default {
filteredUsers() {
if (this.selectedGroup === 'disabled') {
let disabledUsers = this.users.filter(user => user.enabled === false);
- if (disabledUsers.length===0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {
+ if (disabledUsers.length === 0 && this.$refs.infiniteLoading && this.$refs.infiniteLoading.isComplete) {
// disabled group is empty, redirection to all users
- this.$router.push({name: 'users'});
+ this.$router.push({ name: 'users' });
this.$refs.infiniteLoading.stateChanger.reset()
}
return disabledUsers;
@@ -338,9 +341,23 @@ export default {
resetForm() {
// revert form to original state
- Object.assign(this.newUser, this.$options.data.call(this).newUser);
- // reset group
+ 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.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() {