diff options
-rw-r--r-- | client/src/app/core/users/user.service.ts | 9 | ||||
-rw-r--r-- | client/src/app/modal/account-setup-modal.component.ts | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/client/src/app/core/users/user.service.ts b/client/src/app/core/users/user.service.ts index a8a774eca..be9e66c3c 100644 --- a/client/src/app/core/users/user.service.ts +++ b/client/src/app/core/users/user.service.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | import { SortMeta } from 'primeng/api' | 1 | import { SortMeta } from 'primeng/api' |
2 | import { from, Observable, of } from 'rxjs' | 2 | import { from, Observable, of } from 'rxjs' |
3 | import { catchError, concatMap, filter, first, map, shareReplay, throttleTime, toArray } from 'rxjs/operators' | 3 | import { catchError, concatMap, filter, first, map, shareReplay, tap, throttleTime, toArray } from 'rxjs/operators' |
4 | import { HttpClient, HttpParams } from '@angular/common/http' | 4 | import { HttpClient, HttpParams } from '@angular/common/http' |
5 | import { Injectable } from '@angular/core' | 5 | import { Injectable } from '@angular/core' |
6 | import { AuthService } from '@app/core/auth' | 6 | import { AuthService } from '@app/core/auth' |
@@ -28,6 +28,8 @@ export class UserService { | |||
28 | 28 | ||
29 | private userCache: { [ id: number ]: Observable<UserServerModel> } = {} | 29 | private userCache: { [ id: number ]: Observable<UserServerModel> } = {} |
30 | 30 | ||
31 | private signupInThisSession = false | ||
32 | |||
31 | constructor ( | 33 | constructor ( |
32 | private authHttp: HttpClient, | 34 | private authHttp: HttpClient, |
33 | private authService: AuthService, | 35 | private authService: AuthService, |
@@ -37,6 +39,10 @@ export class UserService { | |||
37 | private sessionStorageService: SessionStorageService | 39 | private sessionStorageService: SessionStorageService |
38 | ) { } | 40 | ) { } |
39 | 41 | ||
42 | hasSignupInThisSession () { | ||
43 | return this.signupInThisSession | ||
44 | } | ||
45 | |||
40 | changePassword (currentPassword: string, newPassword: string) { | 46 | changePassword (currentPassword: string, newPassword: string) { |
41 | const url = UserService.BASE_USERS_URL + 'me' | 47 | const url = UserService.BASE_USERS_URL + 'me' |
42 | const body: UserUpdateMe = { | 48 | const body: UserUpdateMe = { |
@@ -153,6 +159,7 @@ export class UserService { | |||
153 | return this.authHttp.post(UserService.BASE_USERS_URL + 'register', userCreate) | 159 | return this.authHttp.post(UserService.BASE_USERS_URL + 'register', userCreate) |
154 | .pipe( | 160 | .pipe( |
155 | map(this.restExtractor.extractDataBool), | 161 | map(this.restExtractor.extractDataBool), |
162 | tap(() => this.signupInThisSession = true), | ||
156 | catchError(err => this.restExtractor.handleError(err)) | 163 | catchError(err => this.restExtractor.handleError(err)) |
157 | ) | 164 | ) |
158 | } | 165 | } |
diff --git a/client/src/app/modal/account-setup-modal.component.ts b/client/src/app/modal/account-setup-modal.component.ts index e5d36e006..8256f5103 100644 --- a/client/src/app/modal/account-setup-modal.component.ts +++ b/client/src/app/modal/account-setup-modal.component.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | import { Component, ElementRef, OnInit, ViewChild } from '@angular/core' | 1 | import { Component, ElementRef, OnInit, ViewChild } from '@angular/core' |
2 | import { AuthService, ServerService, User } from '@app/core' | 2 | import { AuthService, ServerService, User, UserService } from '@app/core' |
3 | import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' | 3 | import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' |
4 | import { HTMLServerConfig } from '@shared/models' | 4 | import { HTMLServerConfig } from '@shared/models' |
5 | 5 | ||
@@ -17,6 +17,7 @@ export class AccountSetupModalComponent implements OnInit { | |||
17 | private serverConfig: HTMLServerConfig | 17 | private serverConfig: HTMLServerConfig |
18 | 18 | ||
19 | constructor ( | 19 | constructor ( |
20 | private userService: UserService, | ||
20 | private authService: AuthService, | 21 | private authService: AuthService, |
21 | private modalService: NgbModal, | 22 | private modalService: NgbModal, |
22 | private serverService: ServerService | 23 | private serverService: ServerService |
@@ -49,8 +50,9 @@ export class AccountSetupModalComponent implements OnInit { | |||
49 | this.authService.userInformationLoaded | 50 | this.authService.userInformationLoaded |
50 | .subscribe( | 51 | .subscribe( |
51 | () => { | 52 | () => { |
52 | if (this.isUserRoot) return false | 53 | if (this.isUserRoot) return |
53 | if (this.hasAccountAvatar && this.hasAccountDescription) return false | 54 | if (this.hasAccountAvatar && this.hasAccountDescription) return |
55 | if (this.userService.hasSignupInThisSession()) return | ||
54 | 56 | ||
55 | this.show() | 57 | this.show() |
56 | } | 58 | } |
@@ -58,7 +60,7 @@ export class AccountSetupModalComponent implements OnInit { | |||
58 | } | 60 | } |
59 | 61 | ||
60 | show () { | 62 | show () { |
61 | if (this.ref) return false | 63 | if (this.ref) return |
62 | 64 | ||
63 | this.ref = this.modalService.open(this.modal, { | 65 | this.ref = this.modalService.open(this.modal, { |
64 | centered: true, | 66 | centered: true, |