function duplicaterec($currentModule, $record_id, $bmapname) { global $adb, $current_user; $focus = CRMEntity::getInstance($currentModule); $focus->retrieve_entity_info($record_id, $currentModule); // Retrieve relations map //$bmapname = 'BusinessMapping_'.$currentModule.'_DuplicateRelations'; $cbMapid = GlobalVariable::getVariable('BusinessMapping_' . $bmapname, cbMap::getMapIdByName($bmapname)); if ($cbMapid) { $cbMap = cbMap::getMapByID($cbMapid); $maped_relations = $cbMap->DuplicateRelations()->getRelatedModules(); } // Duplicate Records that this Record is dependent of if ($cbMapid && $cbMap->DuplicateRelations()->DuplicateDirectRelations()) { $invmods = getInventoryModules(); foreach ($focus->column_fields as $fieldname => $value) { $sql = 'SELECT * FROM vtiger_field WHERE columnname = ? AND uitype IN (10,50,51,57,58,59,73,68,76,75,81,78,80)'; $result = $adb->pquery($sql, array($fieldname)); if ($adb->num_rows($result) == 1 && !empty($value)) { $module = getSalesEntityType($value); if (in_array($module, $invmods)) { continue; } // we can't duplicate these $handler = vtws_getModuleHandlerFromName($module, $current_user); $meta = $handler->getMeta(); $entity = CRMEntity::getInstance($module); $entity->mode = ''; $entity->retrieve_entity_info($value, $module); $entity->column_fields = DataTransform::sanitizeRetrieveEntityInfo($entity->column_fields, $meta); $entity->save($module); $focus->column_fields[$fieldname] = $entity->id; } } } $handler = vtws_getModuleHandlerFromName($currentModule, $current_user); $meta = $handler->getMeta(); $focus->column_fields = DataTransform::sanitizeRetrieveEntityInfo($focus->column_fields, $meta); $focus->saveentity($currentModule); // no workflows for this one => so we don't reenter this process $new_record_id = $focus->id; $curr_tab_id = gettabid($currentModule); $related_list = get_related_lists($curr_tab_id, $maped_relations); dup_related_lists($new_record_id, $currentModule, $related_list, $record_id, $maped_relations); $dependents_list = get_dependent_lists($curr_tab_id); $dependent_tables = get_dependent_tables($dependents_list, $currentModule); dup_dependent_rec($record_id, $currentModule, $new_record_id, $dependent_tables, $maped_relations); return $new_record_id; }
public static function createPotentialRelatedTo($relatedto, $campaignid) { global $adb, $current_user; $checkrs = $adb->pquery('select 1 from vtiger_potential inner join vtiger_crmentity on crmid=potentialid where deleted=0 and related_to=? and campaignid=?', array($relatedto, $campaignid)); if ($adb->num_rows($checkrs) == 0) { require_once 'modules/Potentials/Potentials.php'; $entity = new Potentials(); $entity->mode = ''; $cname = getEntityName('Campaigns', $campaignid); $cname = $cname[$campaignid] . ' - '; $setype = getSalesEntityType($relatedto); $rname = getEntityName($setype, $relatedto); $rname = $rname[$relatedto]; $cbMapid = GlobalVariable::getVariable('BusinessMapping_PotentialOnCampaignRelation', cbMap::getMapIdByName('PotentialOnCampaignRelation')); if ($cbMapid) { $cmp = CRMEntity::getInstance('Campaigns'); $cmp->retrieve_entity_info($campaignid, 'Campaigns'); if ($setype == 'Accounts') { $cmp->column_fields['AccountName'] = $rname; $cmp->column_fields['ContactName'] = ''; } else { $cmp->column_fields['AccountName'] = ''; $cmp->column_fields['ContactName'] = $rname; } $cbMap = cbMap::getMapByID($cbMapid); $entity->column_fields = $cbMap->Mapping($cmp->column_fields, array()); } if (empty($entity->column_fields['assigned_user_id'])) { $entity->column_fields['assigned_user_id'] = $current_user->id; } $entity->column_fields['related_to'] = $relatedto; $entity->column_fields['campaignid'] = $campaignid; if (empty($entity->column_fields['closingdate'])) { $dt = new DateTimeField(); $entity->column_fields['closingdate'] = $dt->getDisplayDate(); } if (empty($entity->column_fields['potentialname'])) { $entity->column_fields['potentialname'] = $cname . $rname; } if (empty($entity->column_fields['sales_stage'])) { $entity->column_fields['sales_stage'] = 'Prospecting'; } $_REQUEST['assigntype'] = 'U'; $_REQUEST['assigned_user_id'] = $entity->column_fields['assigned_user_id']; $entity->save('Potentials'); } }
/** This function returns the sales order object populated with the details from quote object. * Param $focus - Sales order object * Param $quote_focus - Quote order focus * Param $quoteid - quote id * Return type is an object array */ function getConvertQuoteToSoObject($focus, $quote_focus, $quoteid) { global $log, $current_user; $log->debug("Entering getConvertQuoteToSoObject(" . get_class($focus) . "," . get_class($quote_focus) . "," . $quoteid . ") method ..."); $xyz = array('bill_street', 'bill_city', 'bill_code', 'bill_pobox', 'bill_country', 'bill_state', 'ship_street', 'ship_city', 'ship_code', 'ship_pobox', 'ship_country', 'ship_state'); for ($i = 0; $i < 12; $i++) { if (getFieldVisibilityPermission('Quotes', $current_user->id, $xyz[$i]) == '0') { $quote_focus->column_fields[$xyz[$i]] = $quote_focus->column_fields[$xyz[$i]]; } else { $quote_focus->column_fields[$xyz[$i]] = ''; } } $focus->column_fields['quote_id'] = $quoteid; $focus->column_fields['subject'] = $quote_focus->column_fields['subject']; $focus->column_fields['contact_id'] = $quote_focus->column_fields['contact_id']; $focus->column_fields['potential_id'] = $quote_focus->column_fields['potential_id']; $focus->column_fields['account_id'] = $quote_focus->column_fields['account_id']; $focus->column_fields['carrier'] = $quote_focus->column_fields['carrier']; $focus->column_fields['bill_street'] = $quote_focus->column_fields['bill_street']; $focus->column_fields['ship_street'] = $quote_focus->column_fields['ship_street']; $focus->column_fields['bill_city'] = $quote_focus->column_fields['bill_city']; $focus->column_fields['ship_city'] = $quote_focus->column_fields['ship_city']; $focus->column_fields['bill_state'] = $quote_focus->column_fields['bill_state']; $focus->column_fields['ship_state'] = $quote_focus->column_fields['ship_state']; $focus->column_fields['bill_code'] = $quote_focus->column_fields['bill_code']; $focus->column_fields['ship_code'] = $quote_focus->column_fields['ship_code']; $focus->column_fields['bill_country'] = $quote_focus->column_fields['bill_country']; $focus->column_fields['ship_country'] = $quote_focus->column_fields['ship_country']; $focus->column_fields['bill_pobox'] = $quote_focus->column_fields['bill_pobox']; $focus->column_fields['ship_pobox'] = $quote_focus->column_fields['ship_pobox']; $focus->column_fields['description'] = $quote_focus->column_fields['description']; $focus->column_fields['terms_conditions'] = $quote_focus->column_fields['terms_conditions']; $focus->column_fields['currency_id'] = $quote_focus->column_fields['currency_id']; $focus->column_fields['conversion_rate'] = $quote_focus->column_fields['conversion_rate']; $cbMapid = GlobalVariable::getVariable('BusinessMapping_Quotes2SalesOrder', cbMap::getMapIdByName('Quotes2SalesOrder')); if ($cbMapid) { $cbMap = cbMap::getMapByID($cbMapid); $focus->column_fields = $cbMap->Mapping($quote_focus->column_fields, $focus->column_fields); } $log->debug("Exiting getConvertQuoteToSoObject method ..."); return $focus; }
function getSearchListViewEntries($focus, $module, $list_result, $navigation_array, $form = '') { global $log, $adb, $app_strings, $theme, $current_user, $list_max_entries_per_page; $log->debug("Entering getSearchListViewEntries(" . get_class($focus) . "," . $module . "," . $list_result . ") method ..."); $noofrows = $adb->num_rows($list_result); $list_header = ''; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; $list_block = array(); //getting the vtiger_fieldtable entries from database $tabid = getTabid($module); require 'user_privileges/user_privileges_' . $current_user->id . '.php'; $bmapname = $module . '_ListColumns'; $cbMapid = GlobalVariable::getVariable('BusinessMapping_' . $bmapname, cbMap::getMapIdByName($bmapname)); if ($cbMapid) { $cbMap = cbMap::getMapByID($cbMapid); $focus->search_fields = $cbMap->ListColumns()->getSearchFields(); $focus->search_fields_name = $cbMap->ListColumns()->getSearchFieldsName(); $focus->popup_fields = array($cbMap->ListColumns()->getSearchLinkField()); $focus->list_link_field = $cbMap->ListColumns()->getSearchLinkField(); } //Added to reduce the no. of queries logging for non-admin user -- by Minnie-start $field_list = array_values($focus->search_fields_name); $field = array(); if ($is_admin == false && $module != 'Users') { if ($module == 'Emails') { $query = "SELECT fieldname FROM vtiger_field WHERE tabid = ? and vtiger_field.presence in (0,2)"; $params = array($tabid); } else { $profileList = getCurrentUserProfileList(); $query = "SELECT DISTINCT vtiger_field.fieldname\n\t\t\t\tFROM vtiger_field\n\t\t\t\tINNER JOIN vtiger_profile2field\n\t\t\t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\t\tINNER JOIN vtiger_def_org_field\n\t\t\t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid\n\t\t\t\tWHERE vtiger_field.tabid = ?\n\t\t\t\tAND vtiger_profile2field.visible = 0\n\t\t\t\tAND vtiger_def_org_field.visible = 0\n\t\t\t\tAND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ")\n\t\t\t\tAND vtiger_field.fieldname IN (" . generateQuestionMarks($field_list) . ") and vtiger_field.presence in (0,2)"; $params = array($tabid, $profileList, $field_list); } $result = $adb->pquery($query, $params); for ($k = 0; $k < $adb->num_rows($result); $k++) { $field[] = $adb->query_result($result, $k, "fieldname"); } } //constructing the uitype and columnname array $ui_col_array = array(); $query = "SELECT uitype, columnname, fieldname\n\t\tFROM vtiger_field\n\t\tWHERE tabid=?\n\t\tAND fieldname IN (" . generateQuestionMarks($field_list) . ") and vtiger_field.presence in (0,2)"; $result = $adb->pquery($query, array($tabid, $field_list)); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $tempArr = array(); $uitype = $adb->query_result($result, $i, 'uitype'); $columnname = $adb->query_result($result, $i, 'columnname'); $field_name = $adb->query_result($result, $i, 'fieldname'); $tempArr[$uitype] = $columnname; $ui_col_array[$field_name] = $tempArr; } if ($navigation_array['end_val'] > 0) { for ($i = 1; $i <= $noofrows; $i++) { //Getting the entityid if ($module != 'Users') { $entity_id = $adb->query_result($list_result, $i - 1, "crmid"); } else { $entity_id = $adb->query_result($list_result, $i - 1, "id"); } $list_header = array(); foreach ($focus->search_fields as $name => $tableinfo) { $fieldname = $focus->search_fields_name[$name]; if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0 || in_array($fieldname, $field) || $module == 'Users') { if ($fieldname == '') { $table_name = ''; $column_name = ''; foreach ($tableinfo as $tablename => $colname) { $table_name = $tablename; $column_name = $colname; } $value = $adb->query_result($list_result, $i - 1, $colname); } else { if (($module == 'Calls' || $module == 'Tasks' || $module == 'Meetings' || $module == 'Emails') && ($name == 'Related to' || $name == 'Contact Name' || $name == 'Vendor Name')) { if ($name == 'Related to') { $value = getRelatedTo($module, $list_result, $i - 1); } if ($name == 'Contact Name') { $contact_id = $adb->query_result($list_result, $i - 1, "contactid"); $contact_name = getFullNameFromQResult($list_result, $i - 1, "Contacts"); $value = ""; if ($contact_name != "" && $contact_id != 'NULL') { $value = "<a href='index.php?module=Contacts&action=DetailView&record=" . $contact_id . "'>" . $contact_name . "</a>"; } } } elseif (($module == 'Faq' || $module == 'Documents') && $name == 'Related to') { $value = getRelatedToEntity($module, $list_result, $i - 1); } elseif ($name == 'Account Name' && ($module == 'Potentials' || $module == 'SalesOrder' || $module == 'Quotes' || $module == 'Invoice')) { $account_id = $adb->query_result($list_result, $i - 1, "accountid"); $account_name = getAccountName($account_id); $value = textlength_check($account_name); } elseif ($name == 'Quote Name' && $module == 'SalesOrder') { $quote_id = $adb->query_result($list_result, $i - 1, "quoteid"); $quotename = getQuoteName($quote_id); $value = textlength_check($quotename); } elseif ($name == 'Account Name' && $module == 'Contacts') { $account_id = $adb->query_result($list_result, $i - 1, "accountid"); $account_name = getAccountName($account_id); $value = textlength_check($account_name); } elseif (isset($focus->popup_fields) && in_array($fieldname, $focus->popup_fields)) { global $default_charset; $forfield = isset($_REQUEST['forfield']) ? vtlib_purify($_REQUEST['forfield']) : ''; $forfield = htmlspecialchars($forfield, ENT_QUOTES, $default_charset); $forform = isset($_REQUEST['form']) ? vtlib_purify($_REQUEST['form']) : ''; $forform = htmlspecialchars($forform, ENT_QUOTES, $default_charset); $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "search", $focus->popup_type); if (isset($forfield) && $forfield != '' && $focus->popup_type != 'detailview') { $value1 = strip_tags($value); $value = htmlspecialchars(addslashes(html_entity_decode(strip_tags($value), ENT_QUOTES, $default_charset)), ENT_QUOTES, $default_charset); // Remove any previous html conversion $value = str_replace(array("\r", "\n"), '', $value); $count = counterValue(); if (property_exists($focus, 'popup_function') and !empty($focus->popup_function)) { $value = "<a href='javascript:void(0);' onclick='return " . $focus->popup_function . "({$entity_id}, \"{$value}\", \"{$forfield}\"" . (empty($forform) ? '' : ',"' . $forform . '"') . ")' id ={$count} >{$value1}</a>"; } else { $value = "<a href='javascript:if (document.getElementById(\"closewindow\").value==\"true\") {window.close();}' onclick='return vtlib_setvalue_from_popup({$entity_id}, \"{$value}\", \"{$forfield}\"" . (empty($forform) ? '' : ',"' . $forform . '"') . ")' id ={$count} >{$value1}</a>"; } } } else { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "search", $focus->popup_type, $form); } } $list_header[] = $value; } } if ($module == 'Products' && ($focus->popup_type == 'inventory_prod' || $focus->popup_type == 'inventory_prod_po')) { global $default_charset; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; $row_id = $_REQUEST['curr_row']; //To get all the tax types and values and pass it to product details $tax_str = ''; $tax_details = getAllTaxes(); for ($tax_count = 0; $tax_count < count($tax_details); $tax_count++) { $tax_str .= $tax_details[$tax_count]['taxname'] . '=' . $tax_details[$tax_count]['percentage'] . ','; } $tax_str = trim($tax_str, ','); $rate = $user_info['conv_rate']; if (getFieldVisibilityPermission($module, $current_user->id, 'unit_price') == '0') { $unitprice = $adb->query_result($list_result, $list_result_count, 'unit_price'); if ($_REQUEST['currencyid'] != null) { $prod_prices = getPricesForProducts($_REQUEST['currencyid'], array($entity_id)); $unitprice = $prod_prices[$entity_id]; } } else { $unitprice = ''; } $sub_products = ''; $sub_prod = ''; $sub_prod_query = $adb->pquery("SELECT vtiger_products.productid,vtiger_products.productname from vtiger_products INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid=vtiger_products.productid INNER JOIN vtiger_seproductsrel on vtiger_seproductsrel.crmid=vtiger_products.productid WHERE vtiger_seproductsrel.productid=? and vtiger_seproductsrel.setype='Products'", array($entity_id)); for ($k = 0; $k < $adb->num_rows($sub_prod_query); $k++) { //$sub_prod=array(); $id = $adb->query_result($sub_prod_query, $k, "productid"); $str_sep = ''; if ($k > 0) { $str_sep = ":"; } $sub_products .= $str_sep . $id; $sub_prod .= $str_sep . " - " . $adb->query_result($sub_prod_query, $k, "productname"); } $sub_det = $sub_products . "::" . str_replace(":", "<br>", $sub_prod); $qty_stock = $adb->query_result($list_result, $list_result_count, 'qtyinstock'); $slashes_temp_val = popup_from_html(getProductName($entity_id)); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $description = $adb->query_result($list_result, $list_result_count, 'description'); $slashes_desc = htmlspecialchars($description, ENT_QUOTES, $default_charset); $sub_products_link = '<a href="index.php?module=Products&action=Popup&html=Popup_picker&return_module=' . vtlib_purify($_REQUEST['return_module']) . '&record_id=' . vtlib_purify($entity_id) . '&form=HelpDeskEditView&select=enable&popuptype=' . $focus->popup_type . '&curr_row=' . vtlib_purify($row_id) . '¤cyid=' . vtlib_purify($_REQUEST['currencyid']) . '" > ' . getTranslatedString('Sub Products') . '</a>'; $SubProductBeParent = GlobalVariable::getVariable('Product_Permit_Subproduct_Be_Parent', 'no'); if (!isset($_REQUEST['record_id']) || $SubProductBeParent == 'yes') { $sub_products_query = $adb->pquery("SELECT * from vtiger_seproductsrel WHERE productid=? AND setype='Products'", array($entity_id)); if ($adb->num_rows($sub_products_query) > 0) { $list_header[] = $sub_products_link; } else { $list_header[] = $app_strings['LBL_NO_SUB_PRODUCTS']; } } } if ($module == 'Services' && $focus->popup_type == 'inventory_service') { global $default_charset; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; $row_id = $_REQUEST['curr_row']; //To get all the tax types and values and pass it to product details $tax_str = ''; $tax_details = getAllTaxes(); for ($tax_count = 0; $tax_count < count($tax_details); $tax_count++) { $tax_str .= $tax_details[$tax_count]['taxname'] . '=' . $tax_details[$tax_count]['percentage'] . ','; } $tax_str = trim($tax_str, ','); $rate = $user_info['conv_rate']; if (getFieldVisibilityPermission($module, $current_user->id, 'unit_price') == '0') { $unitprice = $adb->query_result($list_result, $list_result_count, 'unit_price'); if ($_REQUEST['currencyid'] != null) { $prod_prices = getPricesForProducts($_REQUEST['currencyid'], array($entity_id), $module); $unitprice = $prod_prices[$entity_id]; } } else { $unitprice = ''; } $slashes_temp_val = popup_from_html($adb->query_result($list_result, $list_result_count, 'servicename')); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $description = $adb->query_result($list_result, $list_result_count, 'description'); $slashes_desc = htmlspecialchars($description, ENT_QUOTES, $default_charset); } $list_block[$entity_id] = $list_header; } } $list = $list_block; $log->debug("Exiting getSearchListViewEntries method ..."); return $list; }
/** * This function is used to set the Object values from the REQUEST values. * @param object reference $focus - reference of the object */ function setObjectValuesFromRequest($focus) { global $log; $moduleName = get_class($focus); $log->debug("Entering setObjectValuesFromRequest({$moduleName}) method ..."); if (isset($_REQUEST['record'])) { $focus->id = $_REQUEST['record']; } if (isset($_REQUEST['mode'])) { $focus->mode = $_REQUEST['mode']; } foreach ($focus->column_fields as $fieldname => $val) { if (isset($_REQUEST[$fieldname])) { if (is_array($_REQUEST[$fieldname])) { $value = $_REQUEST[$fieldname]; } else { $value = trim($_REQUEST[$fieldname]); } $focus->column_fields[$fieldname] = $value; } elseif (isset($_REQUEST[$fieldname . '_hidden'])) { $value = trim($_REQUEST[$fieldname . '_hidden']); $focus->column_fields[$fieldname] = $value; } } $cbfrommodule = $moduleName; $cbfrom = CRMEntity::getInstance($cbfrommodule); $bmapname = $moduleName . '2' . $moduleName; $cbMapid = GlobalVariable::getVariable('BusinessMapping_' . $bmapname, cbMap::getMapIdByName($bmapname)); if (!empty($_REQUEST['cbfromid'])) { $cbfromid = vtlib_purify($_REQUEST['cbfromid']); $cbfrommodule = getSalesEntityType($cbfromid); $bmapname = $cbfrommodule . '2' . $moduleName; $cbfrom = CRMEntity::getInstance($cbfrommodule); $cbfrom->retrieve_entity_info($cbfromid, $cbfrommodule); $cbMapidFromid = GlobalVariable::getVariable('BusinessMapping_' . $bmapname, cbMap::getMapIdByName($bmapname)); if ($cbMapidFromid) { $cbMapid = $cbMapidFromid; } } if ($cbMapid) { $cbMap = cbMap::getMapByID($cbMapid); $focus->column_fields = $cbMap->Mapping($cbfrom->column_fields, $focus->column_fields); } $focus = cbEventHandler::do_filter('corebos.filter.editview.setObjectValues', $focus); $log->debug("Exiting setObjectValuesFromRequest method ..."); }
function vtws_createEntity($recordid, $originMod, $targetMod) { global $adb, $current_user, $log; $return = 0; $newEntityInfo = CRMEntity::getInstance($targetMod); $mapfound = false; foreach ($originMod as $modName) { if ($recordid[$modName]) { $oldEntityInfo = CRMEntity::getInstance($modName); $oldEntityInfo->retrieve_entity_info(vtws_getIdComponents($recordid[$modName])[1], $modName); $map_name = $modName . '2' . $targetMod; $cbMapid = GlobalVariable::getVariable('BusinessMapping_' . $map_name, cbMap::getMapIdByName($map_name)); if ($cbMapid) { $mapfound = true; $cbMap = cbMap::getMapByID($cbMapid); $newEntityInfo->column_fields = $cbMap->Mapping($oldEntityInfo->column_fields, $newEntityInfo->column_fields); } } } if ($mapfound) { try { $webserviceObject = VtigerWebserviceObject::fromName($adb, $targetMod); $handlerPath = $webserviceObject->getHandlerPath(); $handlerClass = $webserviceObject->getHandlerClass(); require_once $handlerPath; $handler = new $handlerClass($webserviceObject, $current_user, $adb, $log); $meta = $handler->getMeta(); $values = DataTransform::sanitizeReferences($newEntityInfo->column_fields, $meta); $values = DataTransform::sanitizeOwnerFields($values, $meta); $return = vtws_create($targetMod, $values, $current_user); } catch (Exception $e) { throw new WebServiceException(WebServiceErrorCode::$UNKNOWNOPERATION, $e->getMessage() . ' : ' . $targetMod); } } return $return; }
/** This function returns the vtiger_invoice object populated with the details from sales order object. * Param $focus - Invoice object * Param $so_focus - Sales order focus * Param $soid - sales order id * Return type is an object array */ function getConvertSoToInvoice($focus, $so_focus, $soid) { global $log, $current_user; $log->debug("Entering getConvertSoToInvoice(" . get_class($focus) . "," . get_class($so_focus) . "," . $soid . ") method ..."); $cbMapid = GlobalVariable::getVariable('BusinessMapping_SalesOrder2Invoice', cbMap::getMapIdByName('SalesOrder2Invoice')); if ($cbMapid) { $cbMap = cbMap::getMapByID($cbMapid); $focus->column_fields = $cbMap->Mapping($so_focus->column_fields, $focus->column_fields); } else { $xyz = array('bill_street', 'bill_city', 'bill_code', 'bill_pobox', 'bill_country', 'bill_state', 'ship_street', 'ship_city', 'ship_code', 'ship_pobox', 'ship_country', 'ship_state'); for ($i = 0; $i < count($xyz); $i++) { if (getFieldVisibilityPermission('SalesOrder', $current_user->id, $xyz[$i]) == '0') { $so_focus->column_fields[$xyz[$i]] = $so_focus->column_fields[$xyz[$i]]; } else { $so_focus->column_fields[$xyz[$i]] = ''; } } $focus->column_fields['salesorder_id'] = $soid; $focus->column_fields['subject'] = $so_focus->column_fields['subject']; $focus->column_fields['customerno'] = $so_focus->column_fields['customerno']; $focus->column_fields['duedate'] = $so_focus->column_fields['duedate']; $focus->column_fields['contact_id'] = $so_focus->column_fields['contact_id']; //to include contact name in Invoice $focus->column_fields['account_id'] = $so_focus->column_fields['account_id']; $focus->column_fields['exciseduty'] = $so_focus->column_fields['exciseduty']; $focus->column_fields['salescommission'] = $so_focus->column_fields['salescommission']; $focus->column_fields['purchaseorder'] = $so_focus->column_fields['vtiger_purchaseorder']; $focus->column_fields['bill_street'] = $so_focus->column_fields['bill_street']; $focus->column_fields['ship_street'] = $so_focus->column_fields['ship_street']; $focus->column_fields['bill_city'] = $so_focus->column_fields['bill_city']; $focus->column_fields['ship_city'] = $so_focus->column_fields['ship_city']; $focus->column_fields['bill_state'] = $so_focus->column_fields['bill_state']; $focus->column_fields['ship_state'] = $so_focus->column_fields['ship_state']; $focus->column_fields['bill_code'] = $so_focus->column_fields['bill_code']; $focus->column_fields['ship_code'] = $so_focus->column_fields['ship_code']; $focus->column_fields['bill_country'] = $so_focus->column_fields['bill_country']; $focus->column_fields['ship_country'] = $so_focus->column_fields['ship_country']; $focus->column_fields['bill_pobox'] = $so_focus->column_fields['bill_pobox']; $focus->column_fields['ship_pobox'] = $so_focus->column_fields['ship_pobox']; $focus->column_fields['description'] = $so_focus->column_fields['description']; $focus->column_fields['terms_conditions'] = $so_focus->column_fields['terms_conditions']; $focus->column_fields['currency_id'] = $so_focus->column_fields['currency_id']; $focus->column_fields['conversion_rate'] = $so_focus->column_fields['conversion_rate']; } $log->debug("Exiting getConvertSoToInvoice method ..."); return $focus; }