From 7e364dd379f73215a5902ccb27f56457993bbaef Mon Sep 17 00:00:00 2001 From: Tanja Ulmen Date: Tue, 28 Jul 2026 13:22:50 +0200 Subject: [PATCH 1/2] fix(): ensure correct type conversion for otacs --- src/app/data/scheduledevent.service.ts | 10 ++++++++++ .../event/otacmanagement/otacmanagement.component.ts | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/app/data/scheduledevent.service.ts b/src/app/data/scheduledevent.service.ts index f41f8264..8f4c6dd8 100644 --- a/src/app/data/scheduledevent.service.ts +++ b/src/app/data/scheduledevent.service.ts @@ -139,6 +139,16 @@ export class ScheduledeventService extends ListableResourceClient { + otac.map((iOTAC: OTAC) => { + if (iOTAC.redeemed_timestamp) { + iOTAC.redeemed_timestamp = new Date(iOTAC.redeemed_timestamp); + } else { + iOTAC.redeemed_timestamp = undefined; + } + }); + return otac; + }), ); } diff --git a/src/app/event/otacmanagement/otacmanagement.component.ts b/src/app/event/otacmanagement/otacmanagement.component.ts index 40c28b61..615f6fd2 100644 --- a/src/app/event/otacmanagement/otacmanagement.component.ts +++ b/src/app/event/otacmanagement/otacmanagement.component.ts @@ -158,8 +158,13 @@ export class OTACManagementComponent implements OnInit, OnDestroy { if (otacUser) { userCSVpart = `${otacUser}, ${this.getUsername(otacUser)}`; } + const redeemedStr = otac.redeemed_timestamp + ? otac.redeemed_timestamp instanceof Date + ? otac.redeemed_timestamp.toISOString() + : otac.redeemed_timestamp + : ''; otacCSV = otacCSV.concat( - `${otac.name}, ${userCSVpart || ''}, ${otac.redeemed_timestamp?.toISOString() || ''}, ${otac.max_duration || ''}, ${otac.status || ''}\n`, + `${otac.name}, ${userCSVpart || ''}, ${redeemedStr}, ${otac.max_duration || ''}, ${otac.status || ''}\n`, ); }); const filename = currentScheduledEvent.event_name + '_OTACs.csv'; From 4d041cb2ead9a9b1e8cd84cdaa7c3d3935a49fc2 Mon Sep 17 00:00:00 2001 From: Tanja Ulmen Date: Wed, 29 Jul 2026 14:20:45 +0200 Subject: [PATCH 2/2] feat(): add ability to update otac duration --- src/app/data/scheduledevent.service.ts | 18 ++++ .../otacmanagement.component.html | 86 ++++++++++++++++++- .../otacmanagement.component.ts | 86 ++++++++++++++++++- 3 files changed, 185 insertions(+), 5 deletions(-) diff --git a/src/app/data/scheduledevent.service.ts b/src/app/data/scheduledevent.service.ts index 8f4c6dd8..0f17b4c9 100644 --- a/src/app/data/scheduledevent.service.ts +++ b/src/app/data/scheduledevent.service.ts @@ -156,6 +156,24 @@ export class ScheduledeventService extends ListableResourceClient { + const se = JSON.parse(atou(s.content)); + return of(se); + }), + map((otac: OTAC) => { + if (otac.redeemed_timestamp) { + otac.redeemed_timestamp = new Date(otac.redeemed_timestamp); + } else { + otac.redeemed_timestamp = undefined; + } + return otac; + }), + ); + } + public listOtacs(seId: string) { return this.garg.get(`/${seId}/otacs/list`).pipe( switchMap((s: ServerResponse) => { diff --git a/src/app/event/otacmanagement/otacmanagement.component.html b/src/app/event/otacmanagement/otacmanagement.component.html index 391fc98b..99d84b4c 100644 --- a/src/app/event/otacmanagement/otacmanagement.component.html +++ b/src/app/event/otacmanagement/otacmanagement.component.html @@ -70,7 +70,7 @@