Jump to content

(SOLUCIONADO) Cambio automatico de estado a sin stock


@jandro@

Recommended Posts

Muy buenas,

 

Tengo activado el manejo automatico del inventario, y por lo visto esto hace que cuando entra un pedido de un producto sin stock, automaticamente cambie el estado del pedido.

 

El problema viene con los pedidos de pago por transferencia, que al pasar automaticamente a sin stock aunque no esté pagado, lia un poco si no te fijas bien.

 

¿que hay que hacer para tener activado el manejo del inventario y que no cambie automaticamente el estado del pedido?

 

Gracias.

Edited by @jandro@ (see edit history)
Link to comment
Share on other sites

Hola fire2, gracias por contestar.

 

Me he imaginado que no iba a ser sencillo porque me he revisado toda la configuración a ver si al menos en los estados que no estubieran marcados como validados ni pagados no lo hacia, que me parecia algo logico, pero nada. Y tambien los validate.php de cada metodo de pago por si estubiera ahi junto con el cambio de estado normal de cada metodo de pago, pero tampoco.

 

¿me podrias ayudar a ver en que archivo está esa función y comentarla para que no modifique el estado por temas de stock?

 

gracias.

Link to comment
Share on other sites

Hola fire2, gracias por contestar.

 

Me he imaginado que no iba a ser sencillo porque me he revisado toda la configuración a ver si al menos en los estados que no estubieran marcados como validados ni pagados no lo hacia, que me parecia algo logico, pero nada. Y tambien los validate.php de cada metodo de pago por si estubiera ahi junto con el cambio de estado normal de cada metodo de pago, pero tampoco.

 

¿me podrias ayudar a ver en que archivo está esa función y comentarla para que no modifique el estado por temas de stock?

 

gracias.

 

El archivo es /classes/PaymentModule.php método validateOrder(), estas líneas:

// Switch to back order if needed
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();
}

Si quieres hacer el cambio definitivo (que no se te borre al actualizar PS) recuerda hacer un override: http://noemilm.com/hacer-override-en-prestashop/ 

 

Si te funciona, recuerda marcar el tema como [sOLUCIONADO]. 

 

Saludos.

  • Like 1
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...