Exemplo n.º 1
0
     } elseif ($actionData['NAME'] == 'edit') {
         if (isset($actionData['FIELDS']) && is_array($actionData['FIELDS'])) {
             foreach ($actionData['FIELDS'] as $ID => $arSrcData) {
                 $arEntityAttr = $CCrmPerms->GetEntityAttr('INVOICE', array($ID));
                 if (!$CCrmPerms->CheckEnityAccess('INVOICE', 'WRITE', $arEntityAttr[$ID])) {
                     continue;
                 }
                 $arUpdateData = array();
                 reset($arResult['HEADERS']);
                 foreach ($arResult['HEADERS'] as $arHead) {
                     if (isset($arHead['editable']) && $arHead['editable'] == true && isset($arSrcData[$arHead['id']])) {
                         $arUpdateData[$arHead['id']] = $arSrcData[$arHead['id']];
                     }
                 }
                 if (!empty($arUpdateData)) {
                     if ($CCrmInvoice->CheckFieldsUpdate($arUpdateData)) {
                         $DB->StartTransaction();
                         if ($CCrmInvoice->Update($ID, $arUpdateData, array('REGISTER_SONET_EVENT' => true, 'UPDATE_SEARCH' => true))) {
                             $DB->Commit();
                         } else {
                             $DB->Rollback();
                         }
                     }
                 }
             }
         }
     }
     if (!$actionData['AJAX_CALL']) {
         LocalRedirect($arParams['PATH_TO_INVOICE_LIST']);
     }
 } else {
Exemplo n.º 2
0
            $fieldNames[] = $_POST['FIELD_NAME'];
        }
    }
    if (count($fieldNames) == 0) {
        __CrmInvoiceShowEndJsonResonse(array('ERROR' => 'FIELD_NAME IS NOT DEFINED!'));
    }
    $fieldValues = array();
    if (isset($_POST['FIELD_VALUE'])) {
        if (is_array($_POST['FIELD_VALUE'])) {
            $fieldValues = $_POST['FIELD_VALUE'];
        } else {
            $fieldValues[] = $_POST['FIELD_VALUE'];
        }
    }
    $arFields = CCrmInvoice::GetByID($ID);
    if (is_array($arFields)) {
        CCrmInstantEditorHelper::PrepareUpdate(CCrmOwnerType::Invoice, $arFields, $fieldNames, $fieldValues);
        // check fields
        if (!$CCrmInvoice->CheckFieldsUpdate($arFields, $ID)) {
            $errMsg = '';
            if (!empty($CCrmInvoice->LAST_ERROR)) {
                $errMsg .= $CCrmInvoice->LAST_ERROR;
            } else {
                $errMsg .= GetMessage('UNKNOWN_ERROR');
            }
            __CrmInvoiceShowEndJsonResonse(array('ERROR' => $errMsg));
        }
        $CCrmInvoice->Update($ID, $arFields, array('REGISTER_SONET_EVENT' => true, 'UPDATE_SEARCH' => true));
    }
}
die;