/** * Fills a new order with the same articles * * @return void */ function redo() { $this->load(); $order = new CProductOrder(); $order->societe_id = $this->societe_id; $order->group_id = $this->group_id; $order->locked = 0; $order->cancelled = 0; $order->order_number = uniqid(rand()); $order->store(); $order->order_number = $order->getUniqueNumber(); $order->store(); $this->loadRefsOrderItems(); foreach ($this->_ref_order_items as $item) { $item->loadRefs(); $new_item = new CProductOrderItem(); $new_item->reference_id = $item->reference_id; $new_item->order_id = $order->order_id; $new_item->quantity = $item->quantity; $new_item->unit_price = $item->_ref_reference->price; $new_item->store(); } }
// If it is a societe id if (!is_numeric($reference_id)) { list($societe_id, $product_id) = explode("-", $reference_id); $societe = new CSociete(); $societe->load($societe_id); $product = new CProduct(); $product->load($product_id); $reference = new CProductReference(); $reference->product_id = $product->_id; $reference->societe_id = $societe->_id; $reference->quantity = 1; $reference->price = 0; $reference->store(); } else { // If it is a reference id $reference = new CProductReference(); $reference->load($reference_id); } if (!$reference->_id) { CAppUI::setMsg("Impossible de créer l'article, la réference n'existe pas", UI_MSG_ERROR); } $order_item = new CProductOrderItem(); $order_item->reference_id = $reference->_id; $order_item->quantity = $quantity; $order_item->unit_price = $reference->price; if ($msg = $order_item->store()) { CAppUI::setMsg($msg); } $_POST["order_item_id"] = $order_item->_id; } $do->doIt();