/** * do conversions * * @param array $_data * @return array */ protected function _doConversions($_data) { $result = parent::_doConversions($_data); if ((isset($result['warranty']) || array_key_exists('warranty', $result)) && empty($_data['warranty'])) { unset($result['warranty']); } if ((isset($result['invoice_date']) || array_key_exists('invoice_date', $result)) && empty($_data['invoice_date'])) { unset($result['invoice_date']); } if ((isset($result["name"]) || array_key_exists("name", $result)) && $result['name'] == "") { $result['name'] = "!Not defined!"; } if ((isset($result["inventory_id"]) || array_key_exists("inventory_id", $result)) && $result['inventory_id'] == "") { $result['inventory_id'] = Tinebase_Record_Abstract::generateUID(40); } if (isset($result["costcentre"]) || array_key_exists("costcentre", $result)) { $result["costcentre"] = $c = Sales_Controller_CostCenter::getInstance()->search(new Sales_Model_CostCenterFilter(array(array('field' => 'number', 'operator' => 'equals', 'value' => $result["costcentre"]))))->getFirstRecord(); } if (isset($result["status"]) || array_key_exists("status", $result)) { $statusRecord = Inventory_Config::getInstance()->get(Inventory_Config::INVENTORY_STATUS)->getKeyfieldRecordByValue($result["status"]); if (empty($statusRecord)) { $statusRecord = Inventory_Config::getInstance()->get(Inventory_Config::INVENTORY_STATUS)->getKeyfieldDefault(); } $result["status"] = $statusRecord['id']; } return $result; }
/** * do conversions (transformations, charset, replacements ...) * * @param array $_data * @return array * * TODO think about moving this to import definition * TODO simplify crm/lead config handling for leadstate/source/type */ protected function _doConversions($_data) { $data = parent::_doConversions($_data); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($data, true)); } // adjust lead_name/leadstate/source/types if missing $configSettings = Crm_Controller::getInstance()->getConfigSettings()->toArray(); $requiredFields = array('leadstate_id' => 'leadstates', 'leadtype_id' => 'leadtypes', 'leadsource_id' => 'leadsources'); foreach ($requiredFields as $requiredField => $configKey) { if (!empty($data[$requiredField])) { continue; } switch ($requiredField) { default: // get default leadstate/source/type OR try to find it by name if given if (!isset($configSettings[$configKey])) { continue; } $settingField = preg_replace('/s$/', '', $configKey); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' config settings' . print_r($configSettings[$configKey], true)); } // init with default $data[$requiredField] = isset($configSettings[$configKey][0]['id']) ? $configSettings[$configKey][0]['id'] : 1; foreach ($configSettings[$configKey] as $setting) { if (isset($setting[$settingField]) && isset($_data[$settingField]) && strtolower($setting[$settingField]) === strtolower($_data[$settingField])) { $data[$requiredField] = $setting['id']; } } } } return $data; }
/** * do conversions * -> sanitize account_id * * @param array $_data * @return array */ protected function _doConversions($_data) { $result = parent::_doConversions($_data); // unset account id if (isset($result['account_id']) && empty($result['account_id'])) { unset($result['account_id']); } if (empty($result['n_family']) && empty($result['org_name'])) { if (isset($result['n_fn'])) { $result['n_family'] = $result['n_fn']; } else { $result['n_family'] = 'imported'; } } return $result; }
/** * do conversions (transformations, charset, replacements ...) * * @param array $_data * @return array * * TODO think about moving this to import definition */ protected function _doConversions($_data) { $data = parent::_doConversions($_data); if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($data, true)); } // adjust lead_name/leadstate/source/types if missing $keyFields = array(Crm_Config::LEAD_STATES => 'leadstate_id', Crm_Config::LEAD_TYPES => 'leadtype_id', Crm_Config::LEAD_SOURCES => 'leadsource_id'); foreach ($keyFields as $keyFieldName => $fieldName) { $keyField = Crm_Config::getInstance()->get($keyFieldName); if (isset($data[$fieldName])) { $data[$fieldName] = $keyField->getIdByTranslatedValue($data[$fieldName]); } else { $data[$fieldName] = $keyField->getKeyfieldDefault()->getId(); } } return $data; }
/** * do conversions * -> sanitize account_id * * @param array $_data * @return array */ protected function _doConversions($_data) { $result = parent::_doConversions($_data); return $result; }