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 #1

Von Moritz Bunjes vor etwa 3 Jahren aktualisiert

  • Thema wurde von Es kann zu ReceCondition kommen, wenn man E-Mail Rechnungen mehrfach auf "Senden" klickt / ReceCondition may occur if e-mail invoices "Send" are clicked several times zu 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 geändert
  • Status wurde von Gemeldet zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Moritz Bunjes gesetzt
  • Zielversion wurde von 133 zu 4.5.1.0 beta1 geändert
  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #2

Von Moritz Bunjes vor etwa 3 Jahren aktualisiert

  • Beschreibung aktualisiert (Vergleich)
  • Status wurde von In Bearbeitung zu 30 geändert
  • Zugewiesen an wurde von Moritz Bunjes zu Core-Entwickler geändert
Aktionen #3

Von Moritz Bunjes vor etwa 3 Jahren aktualisiert

  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #4

Von Moritz Bunjes vor etwa 3 Jahren aktualisiert

  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #5

Von Moritz Bunjes vor fast 3 Jahren aktualisiert

  • Status wurde von 30 zu Testing geändert
Aktionen #6

Von Marvin Muxfeld vor fast 3 Jahren aktualisiert

  • Zugewiesen an wurde von Core-Entwickler zu Marvin Muxfeld geändert
Aktionen #7

Von Marvin Muxfeld vor fast 3 Jahren aktualisiert

  • Zugewiesen an wurde von Marvin Muxfeld zu Core-Entwickler geändert
Aktionen #9

Von Alexandre Ataides vor fast 3 Jahren aktualisiert

  • Zugewiesen an wurde von Core-Entwickler zu Alexandre Ataides geändert
Aktionen #10

Von Alexandre Ataides vor fast 3 Jahren aktualisiert

  • Status wurde von Testing zu Erledigt geändert
Aktionen #11

Von Moritz Bunjes vor fast 3 Jahren aktualisiert

  • Tags wurde von Cloud zu Cloud, 4.5.1.0_beta1 geändert
Aktionen #12

Von Moritz Bunjes vor mehr als 2 Jahren aktualisiert

  • Tags wurde von Cloud, 4.5.1.0_beta1 zu Cloud geändert
Aktionen

Auch abrufbar als: Atom PDF