gainza Posted September 17, 2020 Share Posted September 17, 2020 (edited) Buenas Desde hace unos días ofrecemos en nuestra tienda la posibilidad de comprar un producto aunque esté fuera de stock (avisamos de cuando estará disponible). El caso es que cuando un cliente hace una compra con uno de estos productos el estado del pedido pasa a "En reparto" en vez de a "Pago aceptado" sea cual sea el sistema de pago. Esto supone un pequeño inconveniente de gestión y no encuentro ninguna opción que me permita configurar esto debidamente. ¿Alguna idea? Edited September 22, 2020 by gainza (see edit history) Link to comment Share on other sites More sharing options...
Pixefora D Posted September 18, 2020 Share Posted September 18, 2020 ¿Qué versión de prestashop? Link to comment Share on other sites More sharing options...
gainza Posted September 18, 2020 Author Share Posted September 18, 2020 Buenas, 1.7.6.4 Link to comment Share on other sites More sharing options...
Pixefora D Posted September 18, 2020 Share Posted September 18, 2020 Ve a la clase PaymentModulo.php (recuerda hacer un override), linea 560 encontrarás esto: if (Configuration::get('PS_STOCK_MANAGEMENT') && ($order_detail->getStockState() || $order_detail->product_quantity_in_stock < 0)) { $history = new OrderHistory(); $history->id_order = (int) $order->id; $history->changeIdOrderState(Configuration::get($order->hasBeenPaid() ? 'PS_OS_OUTOFSTOCK_PAID' : 'PS_OS_OUTOFSTOCK_UNPAID'), $order, true); $history->addWithemail(); } Cámbialo por esto: /* if (Configuration::get('PS_STOCK_MANAGEMENT') && ($order_detail->getStockState() || $order_detail->product_quantity_in_stock < 0)) { $history = new OrderHistory(); $history->id_order = (int) $order->id; $history->changeIdOrderState(Configuration::get($order->hasBeenPaid() ? 'PS_OS_OUTOFSTOCK_PAID' : 'PS_OS_OUTOFSTOCK_UNPAID'), $order, true); $history->addWithemail(); }*/ Link to comment Share on other sites More sharing options...
gainza Posted September 18, 2020 Author Share Posted September 18, 2020 Básicamente me pides que lo comente verdad? Link to comment Share on other sites More sharing options...
Pixefora D Posted September 18, 2020 Share Posted September 18, 2020 Correcto. PrestaShop por defecto cambia el estado de pedido cuando algún producto no tiene stock. Se muestra como válido y pagado, pero avisa al cliente que no hay stock. Comentando eso ya no hará el cambio de estado cuando no haya stock. Link to comment Share on other sites More sharing options...
gainza Posted September 18, 2020 Author Share Posted September 18, 2020 Ok, pruebo y te cuento, muchas gracias! Link to comment Share on other sites More sharing options...
gainza Posted September 18, 2020 Author Share Posted September 18, 2020 Bueno, veo que lo de hacer in override de clase es un poco follón... probaré primero a ver si funciona. Link to comment Share on other sites More sharing options...
gainza Posted September 18, 2020 Author Share Posted September 18, 2020 Es curioso en mi carpeta override > classes > PaymentModule.php tenía un código ligeramente distinto if (Configuration::get('PS_STOCK_MANAGEMENT') && ($order_detail->getStockState() || $order_detail->product_quantity_in_stock <= 0)) { $history = new OrderHistory(); $history->id_order = (int)$order->id; $history->changeIdOrderState(Configuration::get($order->valid ? 'PS_OS_OUTOFSTOCK_PAID' : 'PS_OS_OUTOFSTOCK_UNPAID'), $order, true); $history->addWithemail(); Cambia en la cuarta linea "$order->valid ? 'PS_OS_OUTOFSTOCK_PAID" cambia hasBeenPaid() por valid He comentado los dos bloques de los dos archivos "PaymentModule.php" el de la carpeta classes y el de la carpeta override. Link to comment Share on other sites More sharing options...
Pixefora D Posted September 18, 2020 Share Posted September 18, 2020 Perfecto, con eso debería de funcionar. Tiene un poco más de trabajo hacer los override, ya que hay que limpiar class_index.php, pero a la larga te quitas unos cuantos problemas. Si se resuelve el problema, recuerda ponerlo en el título del post. Link to comment Share on other sites More sharing options...
gainza Posted September 22, 2020 Author Share Posted September 22, 2020 Solucionado, gracias! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now