Bon, en fait, non, ce $&#@ de module ne fonctionne pas !
Je viens de réinstaller une copie du site de prod en local pour faire les derniers test, installé la dernière version de RockPOS qui est sensé corriger le problème et ça plante toujours lamentablement.
La seule différence entre la version local et la version du serveur de test qu'ils ont corrigé (et qui semble fonctionner) est l'ajout du try&catch :
// Order is reloaded because the status just changed $order = new PosOrder((int)$order->id); // Send an e-mail to customer (one order = one email) if ($id_order_state != Configuration::get('PS_OS_ERROR') && $id_order_state != Configuration::get('PS_OS_CANCELED') && $this->context->customer->id) { $default_customer = PosCustomer::getDefaultCustomer($order->id_shop); if (($order->id_customer == $default_customer->id && configuration::get('POS_EMAILING_ORDER_COMPLETION_GUEST_CHECKOUT')) || ($order->id_customer != $default_customer->id && configuration::get('POS_EMAILING_ORDER_COMPLETION_STANDARD'))) { try{ $this->sendEmailToCustomer( $order, $products_list, $cart_rules_list, $extra_vars, $order_state );} catch(Exception $e) {} } }
// Order is reloaded because the status just changed $order = new PosOrder((int)$order->id); // Send an e-mail to customer (one order = one email) if ($id_order_state != Configuration::get('PS_OS_ERROR') && $id_order_state != Configuration::get('PS_OS_CANCELED') && $this->context->customer->id) { $default_customer = PosCustomer::getDefaultCustomer($order->id_shop); if (($order->id_customer == $default_customer->id && configuration::get('POS_EMAILING_ORDER_COMPLETION_GUEST_CHECKOUT')) || ($order->id_customer != $default_customer->id && configuration::get('POS_EMAILING_ORDER_COMPLETION_STANDARD'))) { $this->sendEmailToCustomer( $order, $products_list, $cart_rules_list, $extra_vars, $order_state ); } }
Je ne suis pas érudit des exceptions, ça semble corriger le problème, mais pensez vous que ce soit une rustine bancale ?