From 90f0597baa8ebfdb811ce700dc73e0828c704c5c Mon Sep 17 00:00:00 2001 From: lotte Date: Fri, 4 Sep 2020 12:58:50 +0200 Subject: [PATCH] bugfix for users without metadata value for cookie --- src/app/shared/cookies/browser-klaro.service.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app/shared/cookies/browser-klaro.service.ts b/src/app/shared/cookies/browser-klaro.service.ts index bf5a51e674..659c74552a 100644 --- a/src/app/shared/cookies/browser-klaro.service.ts +++ b/src/app/shared/cookies/browser-klaro.service.ts @@ -7,7 +7,7 @@ import { environment } from '../../../environments/environment'; import { switchMap, take } from 'rxjs/operators'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { KlaroService } from './klaro.service'; -import { hasValue, isNotEmpty } from '../empty.util'; +import { hasValue, isEmpty, isNotEmpty } from '../empty.util'; import { CookieService } from '../../core/services/cookie.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { cloneDeep } from 'lodash'; @@ -214,7 +214,11 @@ export class BrowserKlaroService extends KlaroService { * @param config The consent settings for the user to save */ setSettingsForUser(user: EPerson, config: object) { - user.setMetadata(COOKIE_MDFIELD, undefined, JSON.stringify(config)); + if (isNotEmpty(config)) { + user.setMetadata(COOKIE_MDFIELD, undefined, JSON.stringify(config)); + } else { + user.removeMetadata(COOKIE_MDFIELD); + } this.ePersonService.createPatchFromCache(user) .pipe( take(1),