public function beforeInsert($baseTable, $baseData, $customTable, $customData) { if (!isset($baseData['po_no']) || !$baseData['req_no']) { require_once _CALEM_DIR_ . 'server/modules/purchase/CalemPoBo.php'; $reqBo = new CalemPoBo(); $baseData['po_no'] = $reqBo->getNextPoNo(); } //Status & state if (!isset($baseData['status_id'])) { $baseData['status_id'] = $this->conf['po_init_status']; } if (!isset($baseData['state_id'])) { $baseData['state_id'] = $this->conf['po_init_state']; } //Vendor fill-in if (isset($baseData['vendor_id'])) { $baseData = $this->fillInVendor($baseData['vendor_id'], $baseData); } //Buyer fill-in if (isset($baseData['buyer_id'])) { $baseData = $this->fillInBuyer($baseData['buyer_id'], $baseData); } //Shipping and billing address if any if (!isset($baseData['shipping_addr_id'])) { $baseData = $this->fillInShippingAddr($baseData); } if (!isset($baseData['billing_addr_id'])) { $baseData = $this->fillInBillingAddr($baseData); } return $baseData; }