$request - values of the record * @return - record Model of saved record */ public function saveRecord($request) { $recordModel = $this->getRecordModelFromRequest($request); $recordModel->save(); if($request->get('relationOperation')) { $parentModuleName = $request->get('sourceModule'); $parentModuleModel = Vtiger_Module_Model::getInstance($parentModuleName); $parentRecordId = $request->get('sourceRecord'); $relatedModule = $recordModel->getModule(); $relatedRecordId = $recordModel->getId(); $relationModel = Vtiger_Relation_Model::getInstance($parentModuleModel, $relatedModule); $relationModel->addRelation($parentRecordId, $relatedRecordId); //To store the relationship between Products/Services and PriceBooks if ($parentRecordId && ($parentModuleName === 'Products' || $parentModuleName === 'Services')) { $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentRecordId, $parentModuleName); $recordModel->updateListPrice($parentRecordId, $parentRecordModel->get('unit_price')); } } return $recordModel; } }