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; } } }