From 99d751dbafd8bc8f42827c2bfba652377a2b8b25 Mon Sep 17 00:00:00 2001 From: FinnStutzenstein Date: Tue, 12 Feb 2019 10:49:11 +0100 Subject: [PATCH] Implement missing update behaviour for users --- .../src/app/site/agenda/models/view-item.ts | 1 + client/src/app/site/users/models/view-user.ts | 20 ++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/client/src/app/site/agenda/models/view-item.ts b/client/src/app/site/agenda/models/view-item.ts index eb6c3f1d4..b0e244e68 100644 --- a/client/src/app/site/agenda/models/view-item.ts +++ b/client/src/app/site/agenda/models/view-item.ts @@ -125,6 +125,7 @@ export class ViewItem extends BaseViewModel { public updateDependencies(update: BaseViewModel): boolean { if ( + update && update.collectionString === this.item.content_object.collection && update.id === this.item.content_object.id ) { diff --git a/client/src/app/site/users/models/view-user.ts b/client/src/app/site/users/models/view-user.ts index 8afef1b58..b22c53324 100644 --- a/client/src/app/site/users/models/view-user.ts +++ b/client/src/app/site/users/models/view-user.ts @@ -206,21 +206,13 @@ export class ViewUser extends BaseProjectableViewModel implements Searchable { return this.full_name; }; - /** - * TODO: Implement - */ - public replaceGroup(newGroup: ViewGroup): void {} - public updateDependencies(update: BaseViewModel): void { - if (update instanceof ViewGroup) { - this.updateGroup(update); - } - } - - public updateGroup(group: ViewGroup): void { - if (this.user && this.user.groups_id) { - if (this.user.containsGroupId(group.id)) { - this.replaceGroup(group); + if (update instanceof ViewGroup && this.user.groups_id.includes(update.id)) { + const groupIndex = this.groups.findIndex(group => group.id === update.id); + if (groupIndex < 0) { + this.groups.push(update); + } else { + this.groups[groupIndex] = update; } } }