function saveListItems() { require_once 'modules/AOS_Products_Quotes/AOS_Products_Quotes.php'; $productQuote = new AOS_Products_Quotes(); $product = array('id' => $_POST['product_quote_id'], 'product_id' => $_POST['product_id'], 'product_name' => $_POST['product_name'], 'product_qty' => $_POST['product_qty'], 'vat' => $_POST['vat'], 'vat_amt' => $_POST['vat_amt'], 'product_list_price' => $_POST['product_list_price'], 'product_unit_price' => $_POST['product_unit_price'], 'product_total_price' => $_POST['product_total_price'], 'product_note' => $_POST['product_note'], 'deleted' => $_POST['deleted']); $productLineCount = count($product['product_id']); for ($i = 0; $i < $productLineCount; $i++) { $productQuote->id = $product['id'][$i]; $productQuote->parent_id = $this->id; $productQuote->parent_type = 'AOS_Invoices'; $productQuote->product_id = $product['product_id'][$i]; $productQuote->name = $product['product_name'][$i]; $productQuote->product_qty = $product['product_qty'][$i]; $productQuote->product_list_price = unformat_number($product['product_list_price'][$i]); $productQuote->product_unit_price = unformat_number($product['product_unit_price'][$i]); $productQuote->vat = $product['vat'][$i]; $productQuote->vat_amt = unformat_number($product['vat_amt'][$i]); $productQuote->product_total_price = unformat_number($product['product_total_price'][$i]); $productQuote->description = $product['product_note'][$i]; $productQuote->deleted = $product['deleted'][$i]; if ($productQuote->deleted == 1) { $productQuote->mark_deleted($productQuote->id); } else { if (trim($productQuote->product_id) != '') { $productQuote->save(); } } } }
public function testsave() { $aosProductsQuotes = new AOS_Products_Quotes(); $aosProductsQuotes->name = 'test'; $aosProductsQuotes->product_id = 1; $aosProductsQuotes->product_unit_price = 100; $aosProductsQuotes->save(); //test for record ID to verify that record is saved $this->assertTrue(isset($aosProductsQuotes->id)); $this->assertEquals(36, strlen($aosProductsQuotes->id)); //mark the record as deleted and verify that this record cannot be retrieved anymore. $aosProductsQuotes->mark_deleted($aosProductsQuotes->id); $result = $aosProductsQuotes->retrieve($aosProductsQuotes->id); $this->assertEquals(null, $result); }
function mark_deleted($id) { $recordId = $this->id; $productQuote = new AOS_Products_Quotes(); $sql = "SELECT id FROM aos_products_quotes WHERE parent_type = 'AOS_Invoices' AND parent_id = '" . $recordId . "' AND deleted = 0"; $result = $this->db->query($sql); parent::mark_deleted($id); while ($row = $this->db->fetchByAssoc($result)) { $productQuote->id = $row['id']; $productQuote->parent_id = $recordId; $productQuote->save(); $productQuote->mark_deleted($row['id']); } }