Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brak możliwości edycji zamówień #333

Open
jwywiol opened this issue Sep 10, 2024 · 1 comment
Open

Brak możliwości edycji zamówień #333

jwywiol opened this issue Sep 10, 2024 · 1 comment

Comments

@jwywiol
Copy link

jwywiol commented Sep 10, 2024

Cześć, nie jestem pewien czy sprawa dotyczy właśnie tego modułu, ale jest związana z tabelą "prefix_order_payment". Mianowicie, kiedy jest zarejestrowana płatność w zamówieniu:

image
Na powyższym screenie zmodyfikowałem ręcznie wpis w bazie, tak, żeby dostać się do tego zamówienia. Objawia się to nie zdefiniowanym nr karty itd.

Błąd, który wyrzuca przy podglądzie zamówienia:
PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderPaymentForViewing::__construct(): Argument #4 ($transactionId) must be of type string, null given, called in /public_html/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php on line 662

Wartości w kolumnach, które mają wartość NULL, powodują ten błąd.
Dotyczy to kolumn:

  • transaction_id
  • card_number
  • card_brand
  • card_expiration
  • card_holder

Mogę podmienić je za pomocą komendy mysql, ale tym raczej nie rozwiążę problemu wraz ze składaniem nowych zamówień.
Co ciekawe, nie wszystkie zamówienia mają zarejestrowaną płatność. Czyli do części jest możliwy dostęp, ale większość wyrzuca błąd. Poniżej jeszcze dwa przykłady:
image
image

Proszę o pomoc w zdiagnozowaniu problemu.

Wersja PrestaShop: 8.1.7
Wersja PHP: 8.1.29
PayU - v3.2.16

@regdos
Copy link
Contributor

regdos commented Oct 8, 2024

W bazie danych pola te są nullable i mają wartość domyślna określoną jako null a w PHP w klasie OrderPaymentForViewing te pola są zdefiniowane jako string i gdy jest wywoływany konstruktor to pojawia się błąd.
Ta tabela jest wypełniana przy zmianie statusu gdy określony status ma właściwość paid i dla każdej wystawionej faktury (klasa OrderHistory' linia 380). Wartość transaction_id` jest nadawana krok po zmianie statusu.

Dziwne jest to, że brakuje wpisów w tej tabeli - jaki jest wtedy status zamówienia w Presta, są faktury wystawione?
Druga sprawa to same NULL-e w bazie. Sprawdzając kod Presty i implementację ObjectModel domyślnie powinny być wstawiane do bazy puste wartości zamiast NULL-i.
Może jakiś plugin wpina się w jakiegoś hook-a i zmienai zachowanie?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants