Ejemplo n.º 1
0
 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 -->
     $gridID = CCrmGridOptions::GetDefaultGrigID(CCrmOwnerType::ResolveIDByUFEntityID($arResult['ENTITY_ID']));
     if ($arField['SHOW_IN_LIST'] === 'Y') {
         CCrmGridOptions::AddVisibleColumn($gridID, $arResult['FIELD_ID']);
     } else {
         CCrmGridOptions::RemoveVisibleColumn($gridID, $arResult['FIELD_ID']);
     }
     //<-- Register/Unregister fild in entity list
     //Clear components cache
     $GLOBALS['CACHE_MANAGER']->ClearByTag('crm_fields_list_' . $arResult['ENTITY_ID']);
     //And go to proper page
     if (isset($_POST['save'])) {
         LocalRedirect($arResult['~FIELDS_LIST_URL']);
     } elseif (isset($_POST['apply'])) {
         LocalRedirect(str_replace(array('#entity_id#', '#field_id#'), array($arResult['ENTITY_ID'], $arResult['FIELD_ID']), $arParams['~FIELD_EDIT_URL']));
     } else {
         LocalRedirect($arResult['~FIELDS_LIST_URL']);
     }
 } else {
     $ex = $APPLICATION->GetException();
     ShowError($ex->GetString());
Ejemplo n.º 2
0
             if (strpos($k, '~') === 0) {
                 continue;
             }
             $arField[$k] = $v;
         }
         if (empty($arField)) {
             continue;
         }
         if (!$CCrmFields->UpdateField($ID, $arField)) {
             continue;
         }
         if (isset($arField['SHOW_IN_LIST']) && $arField['SHOW_IN_LIST'] !== $arPresetField['SHOW_IN_LIST']) {
             if ($arField['SHOW_IN_LIST'] === 'Y') {
                 CCrmGridOptions::AddVisibleColumn($gridID, $arPresetField['FIELD_NAME']);
             } else {
                 CCrmGridOptions::RemoveVisibleColumn($gridID, $arPresetField['FIELD_NAME']);
             }
         }
     }
     unset($arPostField);
     //Clear components cache
     $CACHE_MANAGER->ClearByTag('crm_fields_list_' . $arResult['ENTITY_ID']);
 }
 if ($_POST['action_all_rows_' . $arResult['GRID_ID']] == 'Y' && $_POST['action_button_' . $arResult['GRID_ID']] == 'delete') {
     $arFields = $CCrmFields->GetFields();
     foreach ($arFields as $ID => $arField) {
         $CCrmFields->DeleteField($arField['ID']);
     }
     //Clear components cache
     $CACHE_MANAGER->ClearByTag('crm_fields_list_' . $arResult['ENTITY_ID']);
 }