Exemplo n.º 1
0
                $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."));
}
Exemplo n.º 2
0
         $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 -->