Wann kommt das Event Shopware_Modules_Admin_Login_Successful an die richtige Stelle?

Hallo,

mir ist beim Debuggen aufgefallen, dass das Event Shopware_Modules_Admin_Login_Successful schon ausgelöst wird, bevor alle Benutzereinstellungen fertig vorgenommen wurden. Insbesondere die Gruppenzugehörigkeit des Users wird erst in sCheckUser initialisiert und dabei auch nur der veraltete Teil in sSystem. Und dieser Aufruf kommt in sAdmin::loginUser erst nachdem das Event ausgelöst wurde.

Was dabei leider vergessen wird, die Gruppenzugehörigkeit wird auch unabhängig davon im modernen ShopContext verwaltet, der wird aber nicht nach dem Login aktualisiert. D.h. Aktionen, die nach dem Login durchgeführt werden sollen und gruppenabhängig sind, können nur mit Workarounds korrekt funktionieren.

Ein Beispiel dafür findet sich in SwagAdvancedCart. Ein Feature dabei ist, dass ein gespeicherter Warenkorb nach dem Login des Users geladen wird. Dazu wird sBasket::sAddArticle verwendet. Wenn aber nun Artikel im gespeicherten Warenkorb sind, die nur für bestimmte Kundengruppen freigegeben sind (bzw. für alle anderen gesperrt sind), dann können diese an dieser Stelle nicht in den Warenkorb gelegt werden.

Meine Frage ist nun, wann ist geplant das Event Shopware_Modules_Admin_Login_Successful an die korrekte Stelle zu verschieben?

Viele Grüße
Gernot Messow

Das Event heißt ja “…Login_Successful”. Daher heißt das erstmal nur, dass der Login erfolgreich war. Daher finde ich, dass der Name durchaus gerechtfertigt ist, auch wenn hier noch nicht alle Benutzereinstellungen geladen wurden. 

Meine Frage ist nun, wann ist geplant das Event Shopware_Modules_Admin_Login_Successful an die korrekte Stelle zu verschieben?

Hoffentlich nie, da dies evtl. Brüche verursacht und damit andere Plugins nicht mehr funktionieren. Möglich wäre eher, dass ein zusätzliches Event eingeführt wird. Wenn du soetwas vorschlagen möchtest, kannst du das als Idee/Feature unter https://issues.shopware.com kundtun. Ansonsten kannst du auch selbst ein Event einfügen und einen PR auf Github anlegen. Immerhin ist Shopware open-source.

Hier im Forum wird diese Art von Anfrage nichts bringen. Es ist kein offizieller Supportkanal von Shopware im Gegensatz zum Issue-Tracker.

Viele Grüße

Der Punkt ist ja, dass sich Shopware in eigenen Plugins ebenfalls auf das Event verlässt.

Hier im Forum wird diese Art von Anfrage nichts bringen. Es ist kein offizieller Supportkanal von Shopware im Gegensatz zum Issue-Tracker.

In dem Vertrag, den ich mit Shopware schließen habe lassen, steht der Issue-Tracker nicht als „offizieller“ Supportkanal. Wo wurden deine offiziellen Support-Kanäle denn definiert?

Du hast recht. Es ist ein Kanal für Support. Allerdings werden die Tickets dort alle von Shopware Mitarbeitern gesichtet. Das wird dir hier nicht garantiert.

Viele Grüße