public function create_history($id) { $this->autoRender = false; // backup old version $quote_id = (int) $id; App::import('Model', 'QuoteManager.Quote'); $quote = new Quote(); $quote_model = new Quote(); $quote_model->recursive = -1; // cake_debug($quote_id); exit; $backup_data = $quote->find('first', array('conditions' => array('Quote.id' => $quote_id))); $update_version = $quote->find('first', array('conditions' => array('Quote.id' => $quote_id))); $versions = $quote_model->find('all', array('conditions' => array('Quote.vid' => $quote_id))); $current_version = count($versions) + 1; $quote_number_split = explode('-', $update_version['Quote']['quote_number']); $update_version['Quote']['quote_number'] = "{$quote_number_split[0]}-{$current_version}"; $this->request->data['Quote']['quote_number'] = "{$quote_number_split[0]}-{$current_version}"; $update_version['Quote']['current_version'] = $current_version; $update_version['Quote']['status'] = "Revision"; // pr($update_version['Quote']); exit; $quote_model->save($update_version['Quote']); $current_user = $this->loginUser; $backup_data['Quote']['vid'] = $quote_id; $backup_data['Quote']['id'] = null; $backup_data['Quote']['created'] = date('Y-m-d H:i:s'); $backup_data['Quote']['created_by'] = isset($current_user['id']) ? $current_user['id'] : '0'; unset($backup_data['WorkOrder']); unset($backup_data['PurchaseOrder']); $backup_data_all = $backup_data; unset($backup_data['QuoteStatus']); unset($backup_data['CabinetOrder']); unset($backup_data['QuoteInstallerPaysheet']); unset($backup_data['CabinetOrderItem']); unset($backup_data['Customer']); unset($backup_data['User']); unset($backup_data['UserCreated']); unset($backup_data['Invoice']); unset($backup_data['GraniteOrder']); unset($backup_data['GraniteOrderItem']); // pr($backup_data);exit; $flag = $quote->save($backup_data['Quote'], false); $backup_data['Quote']['vid'] = $quote_id; // old quote id $quote_id = (int) $quote->id; // new quote id if (isset($this->request->data['QuoteStatus']) && !empty($this->request->data['QuoteStatus'])) { $this->request->data['QuoteStatus']['quote_vid'] = $quote_id; } $backup_data['Quote']['id'] = $quote_id; // Quote Installer Paysheet foreach ($backup_data_all['QuoteInstallerPaysheet'] as $index => $value) { $backup_data_all['QuoteInstallerPaysheet'][$index]['id'] = null; $backup_data_all['QuoteInstallerPaysheet'][$index]['quote_id'] = $quote_id; } App::import('Model', 'QuoteManager.QuoteInstallerPaysheet'); $QuoteInstallerPaysheet = new QuoteInstallerPaysheet(); $QuoteInstallerPaysheet->saveAll($backup_data_all['QuoteInstallerPaysheet']); // Quote Status foreach ($backup_data_all['QuoteStatus'] as $index => $value) { $backup_data_all['QuoteStatus'][$index]['id'] = null; $backup_data_all['QuoteStatus'][$index]['quote_id'] = $quote_id; $backup_data_all['QuoteStatus'][$index]['quote_vid'] = $backup_data['Quote']['vid']; } App::import('Model', 'QuoteManager.QuoteStatus'); $QuoteStatus = new QuoteStatus(); $QuoteStatus->saveAll($backup_data_all['QuoteStatus']); if (!empty($backup_data_all['GraniteOrder'])) { // Granite Order foreach ($backup_data_all['GraniteOrder'] as $index => $value) { $backup_data_all['GraniteOrder'][$index]['id'] = null; $backup_data_all['GraniteOrder'][$index]['quote_id'] = $quote_id; } App::import('Model', 'QuoteManager.GraniteOrder'); $graniteOrder = new GraniteOrder(); $graniteOrder->saveAll($backup_data_all['GraniteOrder']); // Granite Order Item foreach ($backup_data_all['GraniteOrderItem'] as $index => $value) { $backup_data_all['GraniteOrderItem'][$index]['id'] = null; $backup_data_all['GraniteOrderItem'][$index]['quote_id'] = $quote_id; $backup_data_all['GraniteOrderItem'][$index]['granite_order_id'] = $graniteOrder->id; } App::import('Model', 'QuoteManager.GraniteOrderItem'); $graniteOrderItem = new GraniteOrderItem(); $graniteOrderItem->saveAll($backup_data_all['GraniteOrderItem']); } if (!empty($backup_data_all['CabinetOrder'])) { // Cabinet Order foreach ($backup_data_all['CabinetOrder'] as $index => $value) { $backup_data_all['CabinetOrder'][$index]['id'] = null; $backup_data_all['CabinetOrder'][$index]['quote_id'] = $quote_id; } App::import('Model', 'QuoteManager.CabinetOrder'); $CabinetOrder = new CabinetOrder(); $CabinetOrder->saveAll($backup_data_all['CabinetOrder'], false); } // Cabinet Order Item // foreach ($backup_data_all['CabinetOrderItem'] as $index => $value) { // $backup_data_all['CabinetOrderItem'][$index]['id'] = null; // $backup_data_all['CabinetOrderItem'][$index]['quote_id'] = $quote_id; //// $backup_data_all['CabinetOrderItem'][$index]['cabinet_order_id'] = $CabinetOrder->id; // } // App::import('Model', 'QuoteManager.CabinetOrderItem'); // $CabinetOrderItem = new CabinetOrderItem(); // $CabinetOrderItem->saveAll($backup_data_all['CabinetOrderItem']); // } }
function GraniteOrderItem($granite_order_id) { App::import("Model", "QuoteManager.GraniteOrderItem"); $granite_order_item = new GraniteOrderItem(); return $granite_order_item->find("all", array("conditions" => array("granite_order_id" => $granite_order_id))); }