diff options
Diffstat (limited to 'client/src/app/+login/login.component.ts')
-rw-r--r-- | client/src/app/+login/login.component.ts | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/client/src/app/+login/login.component.ts b/client/src/app/+login/login.component.ts index c1705807f..c03af38f2 100644 --- a/client/src/app/+login/login.component.ts +++ b/client/src/app/+login/login.component.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | import { environment } from 'src/environments/environment' | ||
1 | import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core' | 2 | import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core' |
2 | import { ActivatedRoute, Router } from '@angular/router' | 3 | import { ActivatedRoute, Router } from '@angular/router' |
3 | import { AuthService, Notifier, RedirectService, SessionStorageService, UserService } from '@app/core' | 4 | import { AuthService, Notifier, RedirectService, SessionStorageService, UserService } from '@app/core' |
@@ -7,8 +8,8 @@ import { USER_OTP_TOKEN_VALIDATOR } from '@app/shared/form-validators/user-valid | |||
7 | import { FormReactive, FormReactiveService, InputTextComponent } from '@app/shared/shared-forms' | 8 | import { FormReactive, FormReactiveService, InputTextComponent } from '@app/shared/shared-forms' |
8 | import { InstanceAboutAccordionComponent } from '@app/shared/shared-instance' | 9 | import { InstanceAboutAccordionComponent } from '@app/shared/shared-instance' |
9 | import { NgbAccordion, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' | 10 | import { NgbAccordion, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' |
10 | import { PluginsManager } from '@root-helpers/plugins-manager' | 11 | import { getExternalAuthHref } from '@shared/core-utils' |
11 | import { RegisteredExternalAuthConfig, ServerConfig } from '@shared/models' | 12 | import { RegisteredExternalAuthConfig, ServerConfig, ServerErrorCode } from '@shared/models' |
12 | 13 | ||
13 | @Component({ | 14 | @Component({ |
14 | selector: 'my-login', | 15 | selector: 'my-login', |
@@ -119,7 +120,7 @@ export class LoginComponent extends FormReactive implements OnInit, AfterViewIni | |||
119 | } | 120 | } |
120 | 121 | ||
121 | getAuthHref (auth: RegisteredExternalAuthConfig) { | 122 | getAuthHref (auth: RegisteredExternalAuthConfig) { |
122 | return PluginsManager.getExternalAuthHref(auth) | 123 | return getExternalAuthHref(environment.apiUrl, auth) |
123 | } | 124 | } |
124 | 125 | ||
125 | login () { | 126 | login () { |
@@ -196,6 +197,8 @@ The link will expire within 1 hour.` | |||
196 | } | 197 | } |
197 | 198 | ||
198 | private handleError (err: any) { | 199 | private handleError (err: any) { |
200 | console.log(err) | ||
201 | |||
199 | if (this.authService.isOTPMissingError(err)) { | 202 | if (this.authService.isOTPMissingError(err)) { |
200 | this.otpStep = true | 203 | this.otpStep = true |
201 | 204 | ||
@@ -207,8 +210,26 @@ The link will expire within 1 hour.` | |||
207 | return | 210 | return |
208 | } | 211 | } |
209 | 212 | ||
210 | if (err.message.indexOf('credentials are invalid') !== -1) this.error = $localize`Incorrect username or password.` | 213 | if (err.message.includes('credentials are invalid')) { |
211 | else if (err.message.indexOf('blocked') !== -1) this.error = $localize`Your account is blocked.` | 214 | this.error = $localize`Incorrect username or password.` |
212 | else this.error = err.message | 215 | return |
216 | } | ||
217 | |||
218 | if (err.message.includes('blocked')) { | ||
219 | this.error = $localize`Your account is blocked.` | ||
220 | return | ||
221 | } | ||
222 | |||
223 | if (err.body?.code === ServerErrorCode.ACCOUNT_WAITING_FOR_APPROVAL) { | ||
224 | this.error = $localize`This account is awaiting approval by moderators.` | ||
225 | return | ||
226 | } | ||
227 | |||
228 | if (err.body?.code === ServerErrorCode.ACCOUNT_APPROVAL_REJECTED) { | ||
229 | this.error = $localize`Registration approval has been rejected for this account.` | ||
230 | return | ||
231 | } | ||
232 | |||
233 | this.error = err.message | ||
213 | } | 234 | } |
214 | } | 235 | } |