function handleSave($prefix, $redirect = true, $useRequired = false) { require_once 'modules/PurchaseOrders/PurchaseOrder.php'; require_once 'modules/PurchaseOrderLines/PurchaseOrderLine.php'; require_once 'log4php/LoggerManager.php'; require_once 'include/formbase.php'; require_once 'include/TimeDate.php'; $timedate = new TimeDate(); $focus = new PurchaseOrder(); if ($useRequired && !checkRequired($prefix, array_keys($focus->required_fields))) { return null; } $focus = populateFromPost($prefix, $focus); if (!ACLController::checkAccess($focus->module_dir, 'edit', $focus->isOwner($current_user->id))) { ACLController::displayNoAccess(true); } if (empty($_REQUEST['status']) || $_REQUEST['status'] == 'off') { $focus->status = 0; } else { $focus->status = 1; } //echo "post length:".count($_POST); //echo "product_count:".$count."<br>"; //echo "cost_price num:".count($_POST["cost_price"])."<br"; $return_id = $focus->save(); $purchaseorderLine1 = new PurchaseOrderLine(); $purchaseorderLine1->mark_deletedByPurchaseOrderid($return_id); $count = count($_POST); $keys = array_keys($_POST); $sum = 0; for ($i = 0; $i < $count; $i++) { if (substr_count($keys[$i], "materialname_") > 0) { $index = substr($keys[$i], strpos($keys[$i], "_") + 1); $materialid = $_POST["materialid_" . $index]; $paperid = $_POST["paperid_" . $index]; if (!isset($materialid) || empty($materialid) && !isset($paperid) && empty($paperid)) { continue; } $number = $_POST["number_" . $index]; $materialname = $_POST["materialname_" . $index]; $measure = $_POST["measure_" . $index]; $unit = $_POST["unit_" . $index]; $singlep = $_POST["singlep_" . $index]; $price = $_POST["price_" . $index]; $purchaseorderLine = new PurchaseOrderLine(); $purchaseorderLine->number = $number; $purchaseorderLine->materialid = $materialid; $purchaseorderLine->paperid = $paperid; $purchaseorderLine->materialname = $materialname; $purchaseorderLine->measure = $measure; $purchaseorderLine->unit = $unit; $purchaseorderLine->singlep = $singlep; $purchaseorderLine->price = $price; $purchaseorderLine->purchaseorderid = $return_id; $purchaseorderLine->save(); } } $count = $_POST["product_count"]; // $GLOBLES['log']->debug("Saved record with id of ".$return_id); if ($redirect) { $this->handleRedirect($return_id); } else { return $focus; } }
public static function Create($orderId, $itemName, $quantity, $unitPrice) { $lineItem = new PurchaseOrderLine($orderId, $itemName, $quantity, $unitPrice); $lineItem->save(); return $lineItem; }