Closed annonyme closed 5 years ago
For future reference die genaue Stelle: https://github.com/PAYONE-GmbH/shopware-5/blob/8c92feaefb58ebc14a19023d6b33b23d0b23e461/Frontend/MoptPaymentPayone/Subscribers/AddressCheck.php#L105
vielen Dank @annonyme schauen wir uns an!
Jetzt erst gesehen, wir haben in https://github.com/PAYONE-GmbH/shopware-5/pull/264 bereits ein ähnliches Thema gefixt. Habt ihr das Verhalten mit dem aktuellen Master reproduzieren können?
Teste ich Donnerstag mit dem Master. Aber der Fixt sieht an sich schon mal gut aus.
Hat damit funktioniert. Wir gucken, ob wir nun mit dem Master auf dem Repository weiterarbeiten und nicht mehr mit der Version aus dem Community-Store.
super, das freut mich! Wir sind gerade im Releasetest für die nächste Version auf dem Community Store - lange dauert es also nicht mehr, bis das Update auch offiziell im Store landet. Wenn ihr mit dem master weiterarbeiten wollt, geht das natürlich auch. Wir testen jeden PR automatisch und händisch durch, bevor wir mergen. Das Zusammenspiel der Features im Master wird allerdings erst mit einem neuen Release getestet.
in AdressCheck.php Zeile 105 wird geprüft ob die RiskRule als Method in der sAdmin.php existiert. Das ist bei allen mitgelieferten Rules der Fall aber nicht bei den selbst implementierten aus den eigenen Plugins. Daher wird dann kein Event ausgelöst und die eigene Rule nie angesprochen (dadurch werden Zahlungsmethoden teilweise nicht deaktiviert). Wenn man diese Prüfung entfernt, werden die eigenen Rules wieder wie gehabt angesprochen. Die eigenen Rules haben wir nach den Vorgaben von Shopware implementiert und sollten also so valide sein.
Unserer Einschätzung nach müßte die executeRiskRule() vom $subject immer bedingungslos aufgerufen werden, wenn es keine PAYONE-Rule ist, da viel mehr Rules existieren können (durch Plugins) als in der sAdmin als Method implementiert sind.
Der mögliche Fix:
Unser Plugin Rule-Subscriber: