$fields['SETTINGS']['DEFAULT_VALUE']['VALUE'] = $data['DT_DEFAULT_VALUE']; } if (isset($data['DT_TYPE']) && $data['DT_TYPE'] !== '') { $fields['SETTINGS']['DEFAULT_VALUE']['TYPE'] = $data['DT_TYPE']; } break; } $fields['EDIT_FORM_LABEL'] = array(); $fields['LIST_COLUMN_LABEL'] = array(); $fields['LIST_FILTER_LABEL'] = array(); $langDbResult = CLanguage::GetList($by = '', $order = ''); while ($lang = $langDbResult->Fetch()) { $lid = $lang['LID']; $fields['EDIT_FORM_LABEL'][$lid] = $fields['LIST_COLUMN_LABEL'][$lid] = $fields['LIST_FILTER_LABEL'][$lid] = $formLabel; } global $USER_FIELD_MANAGER; $crmFields = new CCrmFields($USER_FIELD_MANAGER, $entityID); $fieldName = $fields['FIELD_NAME'] = $crmFields->GetNextFieldId(); $userField = new CUserTypeEntity(); $fieldID = $userField->Add($fields); if ($fieldID > 0) { CCrmGridOptions::AddVisibleColumn(CCrmGridOptions::GetDefaultGrigID(CCrmOwnerType::ResolveIDByUFEntityID($entityID)), $fieldName); //Clear components cache $GLOBALS['CACHE_MANAGER']->ClearByTag("crm_fields_list_{$entityID}"); __CrmConfigFieldEditEndResonse(array('RESULT' => array('ID' => $fieldID, 'FIELD_NAME' => $fieldName))); } else { __CrmConfigFieldEditEndResonse(array('ERROR' => "Could not create user feld.")); } } else { __CrmConfigFieldEditEndResonse(array('ERROR' => "Action '{$action}' is not supported in current context.")); }
$arField['SETTINGS']['COMPANY'] = $_POST['ENTITY_TYPE_COMPANY']; $arField['SETTINGS']['DEAL'] = $_POST['ENTITY_TYPE_DEAL']; break; case 'employee': if ($arField['SHOW_FILTER'] !== 'N') { $arField['SHOW_FILTER'] = 'I'; // Force exact match for 'USER' field type } break; default: $arField['SHOW_FILTER'] = 'N'; break; } if (!$strError) { if ($arResult['NEW_FIELD']) { $arResult['FIELD_ID'] = $arField['FIELD_NAME'] = $CCrmFields->GetNextFieldId(); $res = $CCrmFields->AddField($arField); } else { $res = $CCrmFields->UpdateField($arResult['FIELD']['ID'], $arField); } if ($res) { //Save default value for 'SHOW_IN_LIST' if ($arResult['NEW_FIELD']) { $defaultShowInList = CUserOptions::GetOption('crm', 'uf_show_in_list', 'N'); if ($arField['SHOW_IN_LIST'] === 'N' && $defaultShowInList !== 'N') { CUserOptions::DeleteOption('crm', 'uf_show_in_list'); } elseif ($arField['SHOW_IN_LIST'] === 'Y' && $defaultShowInList !== 'Y') { CUserOptions::SetOption('crm', 'uf_show_in_list', 'Y'); } } //Register/Unregister fild in entity list -->