fossasia / open-event-frontend

The frontend for the Open Event API Server https://test.eventyay.com
https://eventyay.com
Apache License 2.0
2.34k stars 1.82k forks source link

Fix-9127: Add the unique ticket code into the downlad CSV file #9184

Closed ghost closed 3 months ago

ghost commented 3 months ago

Fixes #https://github.com/fossasia/open-event-server/issues/9127

Short description of what this resolves:

Changes proposed in this pull request:

Checklist

vercel[bot] commented 3 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
open-event-frontend ❌ Failed (Inspect) Mar 26, 2024 7:43am
ghost commented 3 months ago

After I tried to figure out the problem, the UI crashed on the 'View attendees' screen. I see 2 problems: 1/ If the order has 2 or more tickets, the UI will not display the "Order Id" price. 2/ The "View attendees" screen has 2 columns "Ticket number". I checked the source code and found out this problem happened 7 months ago.

After fixing the above two issues, at "View Attendees" I noticed that the "Order" Column is not the "Ticket ID" in the QR and CSV. Do you want to change the value of the "Orders" column? Table

norbusan commented 3 months ago

@lthanhhieu you cannot merge development, sorry. please:

I just did this and it showed far less changes:

diff --git a/app/components/public/stream/video-stream.ts b/app/components/public/stream/video-stream.ts
index 4553e7ac..dddea07c 100644
--- a/app/components/public/stream/video-stream.ts
+++ b/app/components/public/stream/video-stream.ts
@@ -166,7 +166,6 @@ export default class PublicStreamVideoStream extends Component<Args> {
   async setupRoomChat(stream:any) {
     this.currentRoom = stream;
     this.shown = false;
-    this.eventCheckIn(this.args.event.identifier, stream.microlocationId)
   }

   @action
diff --git a/app/controllers/events/view/tickets/attendees/list.js b/app/controllers/events/view/tickets/attendees/list.js
index b17ae99d..4f595b4d 100644
--- a/app/controllers/events/view/tickets/attendees/list.js
+++ b/app/controllers/events/view/tickets/attendees/list.js
@@ -42,13 +42,6 @@ export default class extends Controller.extend(EmberTableControllerMixin) {
         headerComponent : 'tables/headers/sort',
         isSortable      : true
       },
-      {
-        name            : 'Ticket Name',
-        width           : 80,
-        valuePath       : 'ticket.name',
-        headerComponent : 'tables/headers/sort',
-        isSortable      : true
-      },
       {
         name            : 'Tags',
         width           : 100,
diff --git a/app/routes/events/view/tickets/attendees/list.js b/app/routes/events/view/tickets/attendees/list.js
index 986db7d6..2a210efe 100644
--- a/app/routes/events/view/tickets/attendees/list.js
+++ b/app/routes/events/view/tickets/attendees/list.js
@@ -122,7 +122,7 @@ export default class extends Route.extend(EmberTableRouteMixin) {

     let queryString = {
-      include        : 'user,order',
+      include        : 'user,ticket',
       filter         : filterOptions,
       'page[size]'   : params.per_page,
       'page[number]' : params.page || 1
@@ -134,9 +134,11 @@ export default class extends Route.extend(EmberTableRouteMixin) {
       this.addDefaultValue(tags);
     }
     const attendees = await this.asArray(await eventDetails.query('attendees', queryString));
+    const orders = await this.asArray(await eventDetails.query('orders', {}));
     return {
       tags,
-      attendees
+      attendees,
+      orders
     };
   }
 }

The reason is that we had to force push development, and your PR would bring in all the other stuff again.

norbusan commented 3 months ago

In the above diff I sent, I am NOT sure that the removal of the line

this.eventCheckIn(this.args.event.identifier, stream.microlocationId)

is correct.