Skip to content

Commit

Permalink
Convert currency fields in workflows, fixes #121
Browse files Browse the repository at this point in the history
Convert currency fields to user format before saving the entity in
UpdateFields workflows. The save method in CRMEntity expects currency
fields to be in user currency.
  • Loading branch information
Bernat Arlandis committed May 5, 2014
1 parent ff5b9df commit 7aef523
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions modules/com_vtiger_workflow/tasks/VTUpdateFieldsTask.inc
Expand Up @@ -96,6 +96,22 @@ class VTUpdateFieldsTask extends VTTask {
foreach ($focus->column_fields as $fieldName => $fieldValue) {
$focus->column_fields[$fieldName] = html_entity_decode($fieldValue, ENT_QUOTES, $default_charset);
}

// Convert currency fields to User format before save
$webserviceObject = VtigerWebserviceObject::fromName($adb, $moduleName);
$handlerPath = $webserviceObject->getHandlerPath();
$handlerClass = $webserviceObject->getHandlerClass();
$handler = new $handlerClass($webserviceObject,$current_user,$adb,$log);
$meta = $handler->getMeta();
$moduleFields = $meta->getModuleFields();
foreach($moduleFields as $fieldName=>$fieldObj){
if($fieldObj->getFieldDataType()=="currency"){
if(!empty($focus->column_fields[$fieldName])){
$focus->column_fields[$fieldName] = CurrencyField::convertToUserFormat($focus->column_fields[$fieldName],$current_user);
}
}
}

$focus->saveentity($moduleName);
$util->revertUser();
}
Expand Down

0 comments on commit 7aef523

Please sign in to comment.