Skip to content
Snippets Groups Projects
Commit 993ca33c authored by Balaji M's avatar Balaji M
Browse files

PT66313 :: #5291579 :: OpenSource :: Records created from mobile app are not showing in CRM

parent ab9870df
No related branches found
No related tags found
No related merge requests found
......@@ -34,60 +34,49 @@ class Mobile_WS_SaveRecord extends Mobile_WS_FetchRecordWithGrouping {
} else {
$values = $valuesJSONString; // Either empty or already decoded.
}
$response = new Mobile_API_Response();
if (empty($values)) {
$response->setError(1501, "Values cannot be empty!");
return $response;
}
try {
if (vtws_recordExists($recordid)) {
// Retrieve or Initalize
if (!empty($recordid)) {
$recordModel = Vtiger_Record_Model::getInstanceById($recordid, $module);
} else {
$recordModel = Vtiger_Record_Model::getCleanInstance($module);
if (!empty($recordid) && !$this->isTemplateRecordRequest($request)) {
$this->recordValues = vtws_retrieve($recordid, $current_user);
} else {
$this->recordValues = array();
}
// Set the modified values
foreach($values as $name => $value) {
$recordModel->set($name, $value);
$this->recordValues[$name] = $value;
}
$moduleModel = Vtiger_Module_Model::getInstance($module);
$fieldModelList = $moduleModel->getFields();
foreach ($fieldModelList as $fieldName => $fieldModel) {
$fieldValue = $values[$fieldName];
$fieldDataType = $fieldModel->getFieldDataType();
if($fieldDataType == 'time'){
$fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue);
}
if($fieldValue !== null) {
if(!is_array($fieldValue) && $fieldDataType != 'currency') {
$fieldValue = trim($fieldValue);
}
$recordModel->set($fieldName, $fieldValue);
}
}
// Update or Create
if (!empty($recordid)) {
$recordModel->set('id', $recordid);
$recordModel->set('mode', 'edit');
$recordModel->save();
} else {
$recordModel->save();
}
$response->setResult($recordModel->getData());
} else {
$response->setError("RECORD_NOT_FOUND", "Record does not exist");
// Update or Create
if (isset($this->recordValues['id'])) {
$this->recordValues = vtws_update($this->recordValues, $current_user);
} else {
// Set right target module name for Calendar/Event record
if ($module == 'Calendar') {
if (!empty($this->recordValues['eventstatus']) && $this->recordValues['activitytype'] != 'Task') {
$module = 'Events';
}
}
// to save Source of Record while Creating
$this->recordValues['source'] = 'MOBILE';
$this->recordValues = vtws_create($module, $this->recordValues, $current_user);
}
// Update the record id
$request->set('record', $this->recordValues['id']);
// Gather response with full details
$response = parent::process($request);
return $response;
}
} catch(Exception $e) {
$response->setError($e->getCode(), $e->getMessage());
}
return $response;
} else {
$response->setError("RECORD_NOT_FOUND", "Record does not exist");
return $response;
}
} catch(Exception $e) {
$response->setError($e->getCode(), $e->getMessage());
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment