Skip to content

Commit e55f31b

Browse files
committed
[DSC-685] Fix end user agreement acceptations
1 parent 79e44a5 commit e55f31b

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

src/app/register-page/create-profile/create-profile.component.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnInit } from '@angular/core';
22
import { ActivatedRoute, Router } from '@angular/router';
3-
import { map, take } from 'rxjs/operators';
3+
import { map, switchMap, take } from 'rxjs/operators';
44
import { Registration } from '../../core/shared/registration.model';
55
import { Observable } from 'rxjs';
66
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
@@ -158,20 +158,24 @@ export class CreateProfileComponent implements OnInit {
158158
};
159159

160160
// If the End User Agreement cookie is accepted, add end-user agreement metadata to the user
161-
this.endUserAgreementService.isUserAgreementEnabled().subscribe((isUserAgreementEnabled) => {
162-
if (isUserAgreementEnabled && this.userAgreementAccept) {
163-
values.metadata[END_USER_AGREEMENT_METADATA_FIELD] = [
164-
{
165-
value: String(true)
166-
}
167-
];
168-
this.endUserAgreementService.removeCookieAccepted();
169-
}
170-
});
171-
172-
const eperson = Object.assign(new EPerson(), values);
173-
this.ePersonDataService.createEPersonForToken(eperson, this.token).pipe(
174-
getFirstCompletedRemoteData(),
161+
this.endUserAgreementService.isUserAgreementEnabled().pipe(
162+
map((isUserAgreementEnabled: boolean) => {
163+
if (isUserAgreementEnabled && this.userAgreementAccept) {
164+
values.metadata[END_USER_AGREEMENT_METADATA_FIELD] = [
165+
{
166+
value: String(true)
167+
}
168+
];
169+
this.endUserAgreementService.removeCookieAccepted();
170+
}
171+
172+
return Object.assign(new EPerson(), values);
173+
}),
174+
switchMap((eperson: EPerson) => {
175+
return this.ePersonDataService.createEPersonForToken(eperson, this.token).pipe(
176+
getFirstCompletedRemoteData(),
177+
);
178+
})
175179
).subscribe((rd: RemoteData<EPerson>) => {
176180
if (rd.hasSucceeded) {
177181
this.notificationsService.success(this.translateService.get('register-page.create-profile.submit.success.head'),

0 commit comments

Comments
 (0)