Closed aeburriel closed 4 years ago
Por diseño la aplicación espera que no se produzcan operaciones concurrentes de compra por sesión HTTP. Esto está completamente mal porque no se impiden compras concurrentes por sesión HTTP.
Cada vez que se modifica los datos de la compra en curso (butacas o datos del comprador) se borra (que no cancela!) la compra en la base de datos para sustituirla por una compra nueva, sin comprobar que la compra borrada pertenezca a la misma operación.
Resuelto en ecb2eb8e6a5245550e1e160838148ac5362039d0
En algunos casos, cuando el usuario realiza operaciones de compra simultánea, se cobra una venta que ha sido cancelada y lógicamente las entradas no se entregan. Esto ocurre porque el código no permite hacer más de una compra concurrente por sesión.
Hay dos formas de reproducirlo: A. Iniciar dos compras de la misma sesión
B. Iniciar dos compras en distintas sesiones Como en el caso anterior pero con sesiones (o espectáctulos) distintos. La primera operación de compra es borrada de la base de datos sin dejar rastro alguno al iniciar la segunda.