Proszę sprawdźcie czy u was też jest taki błąd.
Zróbcie zakup np. jakiegoś produktu w 4 szt.
Z magazynu znikną 4 sztuki.
Następnie z panelu admina dajcie rezygnacje z dwóch sztuk.
Na magazyn wrócą dwie sztuki.
Następnie usuńcie resztę i w tym momencie jest błąd, bo na magazyn nic nie wróci.
Dokładnie chodzi o to, że w przypadku czyszczenia zamówienia w całości na magazyn nic nie wraca.
Problem jest w pliku AdminOrders.php
Najpierw jest czyszczone zamówienie, później poprawiany stan magazynu.
Jeśli usuwamy całe zamówienie, to przy poprawianiu stanu nie ma już skąd pobrać id pozycji zamówienia.
Wystarczy w tymże pliku zamienić miejscami te funkcje, czyli:
if (!$order->deleteProduct($order, $orderDetail, $qtyCancelProduct))
$this->_errors[] = Tools::displayError('an error occurred during deletion for the product').' <span class="bold">'.$orderDetail->product_name.'</span>';
Module::hookExec('cancelProduct', array('order' => $order, 'id_order_detail' => $id_order_detail));
Przenieść poniżej tego kodu:
if (!Product::reinjectQuantities($id_order_detail, $qtyCancelProduct)){
$this->_errors[] = Tools::displayError('Cannot re-stock product').' <span class="bold">'.$orderDetail->product_name.'</span>';
Obecnie jest zaraz nad nim. Wszystko się zaczyna koło 175 linii.