[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /*+*********************************************************************************** 3 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 *************************************************************************************/ 10 class SalesOrder_SaveAjax_Action extends Inventory_SaveAjax_Action { 11 12 /** 13 * Function to get the record model based on the request parameters 14 * @param Vtiger_Request $request 15 * @return Vtiger_Record_Model or Module specific Record Model instance 16 */ 17 public function getRecordModelFromRequest(Vtiger_Request $request) { 18 $moduleName = $request->getModule(); 19 $recordId = $request->get('record'); 20 21 if($request->get('field') == 'enable_recurring'){ 22 $enableRecurrence = true; 23 } 24 if(!empty($recordId)) { 25 $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); 26 $recordModel->set('id', $recordId); 27 $recordModel->set('mode', 'edit'); 28 29 $fieldModelList = $recordModel->getModule()->getFields(); 30 foreach ($fieldModelList as $fieldName => $fieldModel) { 31 //For not converting createdtime and modified time to user format 32 $uiType = $fieldModel->get('uitype'); 33 if ($uiType == 70) { 34 $fieldValue = $recordModel->get($fieldName); 35 } else { 36 $fieldValue = $fieldModel->getUITypeModel()->getUserRequestValue($recordModel->get($fieldName)); 37 } 38 39 40 if ($fieldName === $request->get('field')) { 41 $fieldValue = $request->get('value'); 42 } 43 44 /** 45 * If field is enable recurrence then we need to pass related fields of 46 * recurrence to save,because untill enable recurrence is checked,the 47 * related field values wont get saved 48 */ 49 if($enableRecurrence){ 50 $requestFieldValue = $request->get($fieldName); 51 if($requestFieldValue != ''){ 52 $fieldValue = $request->get($fieldName); 53 } 54 } 55 56 $fieldDataType = $fieldModel->getFieldDataType(); 57 if ($fieldDataType == 'time') { 58 $fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue); 59 } 60 if ($fieldValue !== null) { 61 if (!is_array($fieldValue)) { 62 $fieldValue = trim($fieldValue); 63 } 64 $recordModel->set($fieldName, $fieldValue); 65 } 66 $recordModel->set($fieldName, $fieldValue); 67 } 68 } else { 69 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 70 71 $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); 72 $recordModel->set('mode', ''); 73 74 $fieldModelList = $moduleModel->getFields(); 75 foreach ($fieldModelList as $fieldName => $fieldModel) { 76 if ($request->has($fieldName)) { 77 $fieldValue = $request->get($fieldName, null); 78 } else { 79 $fieldValue = $fieldModel->getDefaultFieldValue(); 80 } 81 $fieldDataType = $fieldModel->getFieldDataType(); 82 if ($fieldDataType == 'time') { 83 $fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue); 84 } 85 if ($fieldValue !== null) { 86 if (!is_array($fieldValue)) { 87 $fieldValue = trim($fieldValue); 88 } 89 $recordModel->set($fieldName, $fieldValue); 90 } 91 } 92 } 93 return $recordModel; 94 } 95 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |