From c4116e6c96f0e89536a3e6d682ddb6fd7bbc5288 Mon Sep 17 00:00:00 2001
From: tekay <tom.kaesler@mni.thm.de>
Date: Thu, 28 Nov 2019 16:46:13 +0100
Subject: [PATCH] Add room name and shortId to bonus token view

---
 .../user-bonus-token.component.html            |  6 +++---
 .../user-bonus-token.component.ts              | 18 ++++++++++++++++--
 src/app/models/bonus-token-room-mixin.ts       |  6 ++++++
 3 files changed, 25 insertions(+), 5 deletions(-)
 create mode 100644 src/app/models/bonus-token-room-mixin.ts

diff --git a/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.html b/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.html
index 91bdc1dec..927f6df77 100644
--- a/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.html
+++ b/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.html
@@ -1,10 +1,10 @@
 <div mat-dialog-content>
   <h2 tabindex="0">{{'header.bonus-token' | translate }}</h2>
   <mat-divider></mat-divider>
-  <div *ngIf="bonusTokens.length >= 1">
-    <div fxLayout="row" *ngFor="let bonusToken of bonusTokens">
+  <div *ngIf="bonusTokensMixin.length >= 1">
+    <div fxLayout="row" *ngFor="let bonusToken of bonusTokensMixin">
       <h2 tabindex="1">
-        {{bonusToken.token}}
+        {{bonusToken.token}} ({{bonusToken.roomName}} - {{bonusToken.roomShortId}})
       </h2>
     </div>
   </div>
diff --git a/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.ts b/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.ts
index 42c2274c5..d9ca9f736 100644
--- a/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.ts
+++ b/src/app/components/shared/_dialogs/user-bonus-token/user-bonus-token.component.ts
@@ -1,6 +1,8 @@
 import { Component, OnInit } from '@angular/core';
 import { BonusTokenService } from '../../../../services/http/bonus-token.service';
+import { RoomService } from '../../../../services/http/room.service';
 import { BonusToken } from '../../../../models/bonus-token';
+import { BonusTokenRoomMixin } from '../../../../models/bonus-token-room-mixin';
 import { MatDialogRef } from '@angular/material';
 
 @Component({
@@ -11,14 +13,26 @@ import { MatDialogRef } from '@angular/material';
 export class UserBonusTokenComponent implements OnInit {
   userId: string;
   bonusTokens: BonusToken[] = [];
+  bonusTokensMixin: BonusTokenRoomMixin[] = [];
 
-  constructor(private bonusTokenService: BonusTokenService,
-              private dialogRef: MatDialogRef<UserBonusTokenComponent>) {
+  constructor(
+    private bonusTokenService: BonusTokenService,
+    private roomService: RoomService,
+    private dialogRef: MatDialogRef<UserBonusTokenComponent>
+  ) {
   }
 
   ngOnInit() {
     this.bonusTokenService.getTokensByUserId(this.userId).subscribe( list => {
       this.bonusTokens = list;
+      for (const bt of list) {
+        this.roomService.getRoom(bt.roomId).subscribe(room => {
+          const btm = <BonusTokenRoomMixin> bt;
+          btm.roomShortId = room.shortId;
+          btm.roomName = room.name;
+          this.bonusTokensMixin.push(btm);
+        });
+      }
     });
   }
 
diff --git a/src/app/models/bonus-token-room-mixin.ts b/src/app/models/bonus-token-room-mixin.ts
new file mode 100644
index 000000000..5c160c7ae
--- /dev/null
+++ b/src/app/models/bonus-token-room-mixin.ts
@@ -0,0 +1,6 @@
+import { BonusToken } from './bonus-token';
+
+export class BonusTokenRoomMixin extends BonusToken {
+    roomShortId: string;
+    roomName: string;
+}
-- 
GitLab