Projekt

Allgemein

Profil

Aktionen

GX-Bug #68588

geschlossen

Es kann zu RaceCondition kommen, wenn man E-Mail Rechnungen mehrfach auf "Senden" klickt / RaceCondition may occur if e-mail invoices "Send" are clicked several times

Von Till Tepelmann vor etwa 3 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Hoch
Zugewiesen an:
Alexandre Ataides
Kategorie:
Adminbereich
Zielversion:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
4.2.0.1, 4.4.0.0, 4.4.0.1
Release Notes Langtext:

Der Senden-Button zum Verschicken von mehreren Rechnungen oder Bestellbestätigungen wird nach Klick nun deaktiviert, um Mehrfachklicks und damit verbundene Fehler zu unterbinden

Tags:

Beschreibung

E-Mail Rechnungen und Bestellbestätigungen können mehrfach erzeugt und gesendet werden, wenn man mehrfach auf den "Senden" Button klickt, was zu fehlerhaften Rechnungen und Race Conditions führt

Kann wie folgt reproduziert werden:

  1. Gambio Admin öffnen
  2. Es müssen mehrer Bestellungen im Shop ohne Rechnung vorhanden sein
  3. Bestellübersicht öffnen
  4. Alle Bestellungen markieren
  5. Option "E-Mail Rechnung senden" im Aktion DropDown klicken
  6. Häkchen bei "fehlende Rechnunge erzeugen" setzen
  7. Browserkonsole öffnen
  8. Tab "XHR" öffnen
  9. Button "Senden" doppelt oder dreifach anklicken

Aktuelles Verhalten:
Es wird für jede Bestellung ein XHR erzeugt und zwar sooft man man den Button geklickt hat, bei 4 Bestellungen werden dann 8 XHR gestartet oder auch 12 wenn man dreimal geklickt hat. Das sorgt dafür, dass jeder Request von unterschiedlichen Parametern ausgeht und so Rechnungen mehrfach erzeugt und auch per Mail gesendet werden, was dann dazu führt, dass die parallel XHR sich gegenseitig stlören

Erwartetes Verhalten:
Der Button "Senden" muss deaktiviert werden sobald dieser geklickt wurde um weitere Klickst und somit eine ReceCondition von mehreren Ajax Reqeusts zu verhindern.

Das Gleiche gilt für den Versand von Bestellbestätigungen und Rechnungen von der Rechnungen- statt Bestellungen-Übersicht (siehe Screenshots)


Email invoices and order confirmations can be created and sent multiple times when clicking the "Send" button multiple times, resulting in incorrect invoices and race conditions

Can be reproduced as follows:

  1. open Gambio Admin
  2. there must be several orders in the store without invoice
  3. open order overview
  4. select all orders
  5. click option "send email invoice" in action dropdown
  6. check the box "create missing invoice
  7. open browser console
  8. open tab "XHR
  9. double or triple click "Send" button

Current behavior:
For each order an XHR is created as often as the button is clicked, for 4 orders 8 XHRs are started or 12 if the button is clicked three times. This ensures that each request is based on different parameters and so invoices are generated multiple times and also sent by mail, which then leads to the fact that the parallel XHR interfere with each other.

Expected behavior:
The "Send" button must be deactivated as soon as it is clicked to prevent further clicks and thus a ReceCondition of multiple Ajax Reqeusts.

The same applies to sending order confirmations and invoices from the invoices instead of orders overview (see screenshots)

Run yarn admin:scripts before testing and clear the browser cache!


Aktionen

Auch abrufbar als: Atom PDF