Project

General

Profile

GX-Bug #68588

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

Added by Till Tepelmann 8 months ago. Updated about 2 months ago.

Status:
Erledigt
Priority:
Hoch
Category:
Adminbereich
Target version:
% Done:

0%

Estimated time:
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:

Description

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!

History

#1

Updated by Moritz Bunjes 8 months ago

  • Subject changed from 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 to 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
  • Status changed from Gemeldet to In Bearbeitung
  • Assignee set to Moritz Bunjes
  • Target version changed from 133 to 4.5.1.0 beta1
  • Release Notes Langtext updated (diff)
#2

Updated by Moritz Bunjes 8 months ago

  • Description updated (diff)
  • Status changed from In Bearbeitung to 30
  • Assignee changed from Moritz Bunjes to Core-Entwickler
#3

Updated by Moritz Bunjes 8 months ago

  • Release Notes Langtext updated (diff)
#4

Updated by Moritz Bunjes 8 months ago

  • Release Notes Langtext updated (diff)
#5

Updated by Moritz Bunjes 8 months ago

  • Status changed from 30 to Testing
#6

Updated by Marvin Muxfeld 7 months ago

  • Assignee changed from Core-Entwickler to Marvin Muxfeld
#7

Updated by Marvin Muxfeld 7 months ago

  • Assignee changed from Marvin Muxfeld to Core-Entwickler
#9

Updated by Alexandre Ataides 7 months ago

  • Assignee changed from Core-Entwickler to Alexandre Ataides
#10

Updated by Alexandre Ataides 7 months ago

  • Status changed from Testing to Erledigt
#11

Updated by Moritz Bunjes 5 months ago

  • Tags changed from Cloud to Cloud, 4.5.1.0_beta1
#12

Updated by Moritz Bunjes about 2 months ago

  • Tags changed from Cloud, 4.5.1.0_beta1 to Cloud

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 5 MB)