fix payments not working with last change

This commit is contained in:
2023-08-08 16:08:38 +02:00
parent 234d809ebf
commit 3e95dfeee3
4 changed files with 26 additions and 21 deletions

View File

@@ -70,7 +70,7 @@ class POSTHandler {
ticketCount = maxTickets;
}
if ( maxTickets > 0 ) {
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toDateString(), 'data': JSON.stringify( info ) } );
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toString(), 'data': JSON.stringify( info ) } );
resolve( { 'status': 'ok', 'ticketCount': ticketCount } );
} else {
reject( { 'code': 409, 'message': 'ERR_ALL_OCCUPIED' } );
@@ -89,7 +89,7 @@ class POSTHandler {
ticketCount = maxTickets;
}
if ( maxTickets > 0 ) {
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toDateString(), 'data': JSON.stringify( info ) } );
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toString(), 'data': JSON.stringify( info ) } );
resolve( { 'status': 'ok', 'ticketCount': ticketCount } );
} else {
reject( { 'code': 409, 'message': 'ERR_ALL_OCCUPIED' } );
@@ -106,7 +106,7 @@ class POSTHandler {
let info = {};
info[ data.eventID ] = {};
info[ data.eventID ][ data.id ] = data;
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toDateString(), 'data': JSON.stringify( info ) } ).catch( err => {
db.writeDataSimple( 'temp', 'user_id', session.id, { 'user_id': session.id, 'timestamp': new Date().toString(), 'data': JSON.stringify( info ) } ).catch( err => {
console.error( err );
} );
resolve( 'ok' );

View File

@@ -109,11 +109,15 @@ module.exports = ( app, settings ) => {
delete paymentOk[ request.session.id ];
response.send( { 'status': 'paymentOk' } );
} else {
const stat = TicketGenerator.getGenerationStatus( request.session.id );
if ( stat === 'done' ) {
response.send( { 'status': 'ticketOk' } );
} else if ( stat === 'noTicket' ) {
response.send( { 'status': 'noTicket' } );
if ( !pendingPayments[ request.session.id ] ) {
const stat = TicketGenerator.getGenerationStatus( request.session.id );
if ( stat === 'done' ) {
response.send( { 'status': 'ticketOk' } );
} else if ( stat === 'noTicket' ) {
response.send( { 'status': 'noTicket' } );
} else {
response.send( '' );
}
} else {
response.send( '' );
}
@@ -146,7 +150,6 @@ module.exports = ( app, settings ) => {
const tickets = JSON.parse( dat[ 0 ].data );
db.writeDataSimple( 'orders', 'account_id', user[ 0 ].account_id, { 'account_id': user[ 0 ].account_id, 'tickets': dat[ 0 ].data, 'order_name': sessionReference[ event.data.object.id ][ 'tok' ] } ).then( () => {
console.log( sessionReference[ event.data.object.id ][ 'tok' ] );
delete pendingPayments[ sessionReference[ event.data.object.id ][ 'tok' ] ];
TicketGenerator.generateTickets( sessionReference[ event.data.object.id ] );
db.getJSONData( 'booked' ).then( ret => {
let booked = ret ?? {};
@@ -158,7 +161,9 @@ module.exports = ( app, settings ) => {
booked[ event ][ tik ] = tickets[ event ][ tik ];
}
}
db.writeJSONData( 'booked', booked );
db.writeJSONData( 'booked', booked ).then( () => {
delete pendingPayments[ sessionReference[ event.data.object.id ][ 'tok' ] ];
} );
db.deleteDataSimple( 'temp', 'user_id', sessionReference[ event.data.object.id ][ 'tok' ] ).catch( error => {
console.error( '[ STRIPE ] ERROR whilst deleting data from DB: ' + error );
} );

View File

@@ -177,11 +177,10 @@
unavailableSeats[ data.reserved[ seat ].component ][ data.reserved[ seat ].id ] = 'nav';
}
}
for ( let seat in data.user ) {
if ( data.user[ seat ] ) {
if ( !unavailableSeats[ data.user[ seat ].component ] ) {
unavailableSeats[ data.reserved[ seat ].component ] = {};
unavailableSeats[ data.user[ seat ].component ] = {};
}
unavailableSeats[ data.user[ seat ].component ][ data.user[ seat ].id ] = 'sel';
}
@@ -293,15 +292,15 @@
this.draggables = this.scaleUp( JSON.parse( sessionStorage.getItem( 'seatplan' ) ) );
}
if ( this.cart[ this.event.eventID ] ) {
let tickets = this.cart[ this.event.eventID ][ 'tickets' ];
for ( let seat in tickets ) {
if ( !this.unavailableSeats[ data.user[ seat ].component ] ) {
this.unavailableSeats[ data.reserved[ seat ].component ] = {};
}
this.unavailableSeats[ tickets[ seat ].component ][ tickets[ seat ].id ] = 'sel';
}
}
// if ( this.cart[ this.event.eventID ] ) {
// let tickets = this.cart[ this.event.eventID ][ 'tickets' ];
// for ( let seat in tickets ) {
// if ( !this.unavailableSeats[ data.user[ seat ].component ] ) {
// this.unavailableSeats[ data.reserved[ seat ].component ] = {};
// }
// this.unavailableSeats[ tickets[ seat ].component ][ tickets[ seat ].id ] = 'sel';
// }
// }
},
scaleUp ( valueArray ) {

View File

@@ -48,6 +48,7 @@
if ( e.data === 'ready' ) {
self.$refs.notification.cancelNotification( startNotification );
self.$refs.notification.createNotification( 'Your tickets are ready! Starting download...', 10, 'progress', 'normal' );
localStorage.removeItem( 'cart' );
setTimeout( () => {
open( '/tickets/tickets.pdf' );
source.close();