From adca2915b7cf677c2987612e2561d21f7a3df131 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 9 Aug 2023 14:22:38 +0200 Subject: [PATCH] move to easier to manage ticket selection --- src/webapp/main/src/components/noseatplan.vue | 30 +++++++++---------- .../views/purchasing/TicketsOrderingView.vue | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/webapp/main/src/components/noseatplan.vue b/src/webapp/main/src/components/noseatplan.vue index 99d6948..4757705 100644 --- a/src/webapp/main/src/components/noseatplan.vue +++ b/src/webapp/main/src/components/noseatplan.vue @@ -5,20 +5,20 @@

Available tickets

-
- {{ event[ 'categories' ][ ticket.category ][ 'name' ] }} +
+ {{ event[ 'categories' ][ ticket.id ][ 'name' ] }}
{{ ticketOption.name }}
({{ ticketOption.age }} years)
- {{ event.currency }} {{ event[ 'categories' ][ ticket.category ][ 'price' ][ ticketOption.id ] }} + {{ event.currency }} {{ event[ 'categories' ][ ticket.id ][ 'price' ][ ticketOption.id ] }} - add - {{ selectedTickets[ ticket.id + '_' + ticketOption.id ] ?? 0 }} - remove + add + {{ selectedTickets[ 'ticket' + ticket.id + '_' + ticketOption.id ] ?? 0 }} + remove
@@ -44,8 +44,8 @@ export default { }, data () { return { - tickets: { 'ticket1': { 'name': 'Ticket 1', 'id': 'ticket1', 'category': 1, 'free': 20 }, 'ticket2': { 'name': 'Ticket 2', 'id': 'ticket2', 'category': 2, 'free': 20 } }, - event: { 'name': 'TestEvent2', 'location': 'TestLocation2', 'eventID': 'test2', 'date': '2023-07-15', 'currency': 'CHF', 'categories': { '1': { 'price': { '1':25, '2':35 }, 'bg': 'black', 'fg': 'white', 'name': 'Category 1' }, '2': { 'price': { '1':15, '2':20 }, 'bg': 'green', 'fg': 'white', 'name': 'Category 2' } }, 'ageGroups': { '1':{ 'id': 1, 'name':'Child', 'age':'0 - 15.99' }, '2':{ 'id': 2, 'name': 'Adult' } }, 'maxTickets': 2 }, + tickets: { 'ticket1': 20, 'ticket2': 20 }, + event: { 'name': 'TestEvent2', 'location': 'TestLocation2', 'eventID': 'test2', 'date': '2023-07-15', 'currency': 'CHF', 'categories': { '1': { 'price': { '1':25, '2':35 }, 'bg': 'black', 'fg': 'white', 'name': 'Category 1', 'id': 1 }, '2': { 'price': { '1':15, '2':20 }, 'bg': 'green', 'fg': 'white', 'name': 'Category 2', 'id': 2 } }, 'ageGroups': { '1':{ 'id': 1, 'name':'Child', 'age':'0 - 15.99' }, '2':{ 'id': 2, 'name': 'Adult' } }, 'maxTickets': 2 }, cart: {}, selectedTickets: {}, maxTickets: 10, @@ -75,7 +75,7 @@ export default { } if ( totalTickets <= this.maxTickets ) { - if ( totalTicketsPerID[ id ] <= this.tickets[ id ][ 'free' ] ) { + if ( totalTicketsPerID[ id ] <= this.tickets[ id ] ) { if ( !this.selectedTickets[ id + '_' + option ] ) { this.selectedTickets[ id + '_' + option ] = 0; } @@ -102,8 +102,8 @@ export default { 'ticketOption': ticket.substring( ticket.indexOf( '_' ) + 1 ), 'eventID': this.event.eventID, 'count': this.selectedTickets[ ticket ], - 'category': this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].category, - 'name': this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', + 'category': ticket.slice( 0, ticket.indexOf( '_' ) ), + 'name': this.event.categories[ ticket.slice( ticket.indexOf( '_' ) - 1, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', } ), headers: { 'Content-Type': 'application/json', @@ -126,8 +126,8 @@ export default { } } else { this.cart[ this.event.eventID ][ 'tickets' ][ ticket ] = { - 'displayName': this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', - 'price': this.event.categories[ this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].category ].price[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ], + 'displayName': this.event.categories[ ticket.slice( ticket.indexOf( '_' ) - 1, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', + 'price': this.event.categories[ ticket.slice( ticket.indexOf( '_' ) - 1, ticket.indexOf( '_' ) ) ].price[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ], 'id': ticket, 'count': this.selectedTickets[ ticket ], 'comp': 1, @@ -136,8 +136,8 @@ export default { } else if ( res.status === 409 ) { res.json().then( dat => { this.cart[ this.event.eventID ][ 'tickets' ][ ticket ] = { - 'displayName': this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', - 'price': this.event.categories[ this.tickets[ ticket.slice( 0, ticket.indexOf( '_' ) ) ].category ].price[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ], + 'displayName': this.event.categories[ ticket.slice( ticket.indexOf( '_' ) - 1, ticket.indexOf( '_' ) ) ].name + ' (' + this.event.ageGroups[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ].name + ')', + 'price': this.event.categories[ ticket.slice( ticket.indexOf( '_' ) - 1, ticket.indexOf( '_' ) ) ].price[ ticket.substring( ticket.indexOf( '_' ) + 1 ) ], 'id': ticket, 'count': dat.count, 'comp': 1, diff --git a/src/webapp/main/src/views/purchasing/TicketsOrderingView.vue b/src/webapp/main/src/views/purchasing/TicketsOrderingView.vue index 3fd788d..7bd7eba 100644 --- a/src/webapp/main/src/views/purchasing/TicketsOrderingView.vue +++ b/src/webapp/main/src/views/purchasing/TicketsOrderingView.vue @@ -50,7 +50,7 @@ }, data() { return { - hasSeatplan: true, + hasSeatplan: false, eventID: '', } },