From c8d4162c7764ad4f0d8f01db0ebcf3abeb54dccd Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Thu, 3 Oct 2019 21:16:14 +0200 Subject: [PATCH] feat(User Id): UserId forced to be on lower case --- src/components/UserNew.vue | 17 ++++++++++++++++- src/views/User.vue | 28 +++++++++------------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/components/UserNew.vue b/src/components/UserNew.vue index 30129ff..92ec65f 100644 --- a/src/components/UserNew.vue +++ b/src/components/UserNew.vue @@ -8,7 +8,7 @@

- +

@@ -59,6 +59,7 @@ export default class UserNew extends Vue { public user!: IUser | null @Model('input', { type: Object, required: true }) public newUser!: IUser + private localeUserId = (this.newUser.userId || '').toLowerCase() public maxChar(user: IUser): number { return 20 - (user.alias ? user.alias.length : 0) @@ -70,6 +71,20 @@ export default class UserNew extends Vue { } return !!this.user && this.user.userId === this.newUser.userId } + + public set userId(newUserId: string) { + this.localeUserId = (newUserId || '').toLowerCase() + } + public get userId(): string { + return this.localeUserId + } + + @Watch('localeUserId', { immediate: true }) + public onLocaleUserIdChange(userId: string) { + if (this.newUser.userId !== userId) { + this.newUser.userId = userId + } + } } diff --git a/src/views/User.vue b/src/views/User.vue index 79d59cf..9622226 100644 --- a/src/views/User.vue +++ b/src/views/User.vue @@ -100,24 +100,6 @@ -
@@ -250,7 +232,6 @@ export default class User extends Vue { @Action public remove!: any public activeTab: string = 'login' - public userId: string = '' public email: string = '' public password: string = '' public confirmPassword: string = '' @@ -260,6 +241,7 @@ export default class User extends Vue { public show: boolean = false public replicate: boolean = false public confirmed: boolean = false + private localeUserId: string = '' public mounted(): void { if (this.premail) { @@ -349,6 +331,14 @@ export default class User extends Vue { public get slugEmail(): string { return slug(this.email) } + + public set userId(newUserId: string) { + this.localeUserId = (newUserId || '').toLowerCase() + } + + public get userId() { + return this.localeUserId + } }