Skip to content

Commit 048ef08

Browse files
committed
[DSC-2797] fixes(log-in): align registration and forgot password links position with dspace base code
1 parent e8fb769 commit 048ef08

File tree

6 files changed

+238
-165
lines changed

6 files changed

+238
-165
lines changed

src/app/shared/log-in/log-in.component.html

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,6 @@
88
@if (!last) {
99
<div class="dropdown-divider my-2"></div>
1010
}
11-
@if (canShowDivider$ | async) {
12-
<div class="mt-2">
13-
@if (canRegister$ | async) {
14-
<a class="dropdown-item" [routerLink]="[getRegisterRoute()]"
15-
[attr.data-test]="'register' | dsBrowserOnly">{{"login.form.new-user" | translate}}</a>
16-
}
17-
@if (canForgot$ | async) {
18-
<a class="dropdown-item" [routerLink]="[getForgotRoute()]"
19-
[attr.data-test]="'forgot' | dsBrowserOnly">{{"login.form.forgot-password" | translate}}</a>
20-
}
21-
</div>
22-
}
2311
}
2412
</div>
2513
}

src/app/shared/log-in/log-in.component.ts

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,19 @@ import {
66
OnDestroy,
77
OnInit,
88
} from '@angular/core';
9-
import {
10-
ActivatedRoute,
11-
RouterLink,
12-
} from '@angular/router';
9+
import { ActivatedRoute } from '@angular/router';
1310
import {
1411
select,
1512
Store,
1613
} from '@ngrx/store';
17-
import { TranslatePipe } from '@ngx-translate/core';
1814
import uniqBy from 'lodash/uniqBy';
1915
import {
20-
combineLatest,
2116
combineLatestWith,
2217
map,
2318
Observable,
2419
Subscription,
2520
} from 'rxjs';
26-
import {
27-
filter,
28-
shareReplay,
29-
} from 'rxjs/operators';
21+
import { filter } from 'rxjs/operators';
3022

3123
import { environment } from '../../../environments/environment';
3224
import {
@@ -44,10 +36,8 @@ import {
4436
} from '../../core/auth/selectors';
4537
import { CoreState } from '../../core/core-state.model';
4638
import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service';
47-
import { FeatureID } from '../../core/data/feature-authorization/feature-id';
4839
import { hasValue } from '../empty.util';
4940
import { ThemedLoadingComponent } from '../loading/themed-loading.component';
50-
import { BrowserOnlyPipe } from '../utils/browser-only.pipe';
5141
import { LogInContainerComponent } from './container/log-in-container.component';
5242
import {
5343
AUTH_METHOD_FOR_DECORATOR_MAP,
@@ -61,11 +51,8 @@ import {
6151
changeDetection: ChangeDetectionStrategy.OnPush,
6252
imports: [
6353
AsyncPipe,
64-
BrowserOnlyPipe,
6554
LogInContainerComponent,
66-
RouterLink,
6755
ThemedLoadingComponent,
68-
TranslatePipe,
6956
],
7057
})
7158
export class LogInComponent implements OnInit, OnDestroy {
@@ -103,21 +90,6 @@ export class LogInComponent implements OnInit, OnDestroy {
10390
*/
10491
public loading: Observable<boolean>;
10592

106-
/**
107-
* Whether or not the current user (or anonymous) is authorized to register an account
108-
*/
109-
canRegister$: Observable<boolean>;
110-
111-
/**
112-
* Whether or not the current user (or anonymous) is authorized to register an account
113-
*/
114-
canForgot$: Observable<boolean>;
115-
116-
/**
117-
* Shows the divider only if contains at least one link to show
118-
*/
119-
canShowDivider$: Observable<boolean>;
120-
12193
/**
12294
* Track subscription to unsubscribe on destroy
12395
* @private
@@ -156,18 +128,6 @@ export class LogInComponent implements OnInit, OnDestroy {
156128
this.authService.clearRedirectUrl();
157129
}
158130
});
159-
160-
this.canRegister$ = this.authorizationService.isAuthorized(FeatureID.EPersonRegistration);
161-
162-
this.canForgot$ = this.authorizationService.isAuthorized(FeatureID.EPersonForgotPassword).pipe(shareReplay({ refCount: false, bufferSize: 1 }));
163-
this.canShowDivider$ = combineLatest([
164-
this.canRegister$,
165-
this.canForgot$,
166-
this.route.data,
167-
]).pipe(
168-
map(([canRegister, canForgot, routeData]) => (canRegister || canForgot) && !routeData?.isBackDoor),
169-
filter(Boolean),
170-
);
171131
}
172132

173133
filterAndSortAuthMethods(authMethods: AuthMethod[], isBackdoor: boolean, isPasswordLoginEnabledForAdminsOnly = false): AuthMethod[] {

src/app/shared/log-in/methods/password/log-in-password.component.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,16 @@
3030
<button class="btn btn-lg btn-primary w-100" type="submit" [attr.data-test]="'login-button' | dsBrowserOnly"
3131
[dsBtnDisabled]="!form.valid" role="button" tabindex="0"><i class="fas fa-sign-in-alt"></i> {{"login.form.submit" | translate}}</button>
3232
</form>
33+
34+
@if (canShowDivider$ | async) {
35+
<div class="mt-2">
36+
@if (canRegister$ | async) {
37+
<a class="dropdown-item" [routerLink]="[getRegisterRoute()]"
38+
[attr.data-test]="'register' | dsBrowserOnly" tabindex="0">{{"login.form.new-user" | translate}}</a>
39+
}
40+
@if (canForgot$ | async) {
41+
<a class="dropdown-item" [routerLink]="[getForgotRoute()]"
42+
[attr.data-test]="'forgot' | dsBrowserOnly" tabindex="0">{{"login.form.forgot-password" | translate}}</a>
43+
}
44+
</div>
45+
}

0 commit comments

Comments
 (0)