Exemplo n.º 1
0
         $arFilterDel = array();
         if (!$actionData['ALL_ROWS']) {
             $arFilterDel = array('ID' => $actionData['ID']);
         } else {
             // Fix for issue #26628
             $arFilterDel += $arFilter;
         }
         $obRes = CCrmInvoice::GetList(array(), $arFilterDel, false, false, array('ID'));
         while ($arInvoice = $obRes->Fetch()) {
             $ID = $arInvoice['ID'];
             $arEntityAttr = $CCrmPerms->GetEntityAttr('INVOICE', array($ID));
             if (!$CCrmPerms->CheckEnityAccess('INVOICE', 'DELETE', $arEntityAttr[$ID])) {
                 continue;
             }
             $DB->StartTransaction();
             if ($CCrmInvoice->Delete($ID)) {
                 $DB->Commit();
             } else {
                 $DB->Rollback();
             }
         }
     }
 } 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']);
Exemplo n.º 2
0
                } elseif (isset($_POST['saveAndView'])) {
                    if (CCrmInvoice::CheckReadPermission($ID)) {
                        LocalRedirect(empty($arResult['INVOICE_REFERER']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_SHOW'], array('invoice_id' => $ID)) : $arResult['INVOICE_REFERER']);
                    }
                }
                // save
                LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_LIST'], array()));
            }
        }
    } elseif (isset($_GET['delete']) && check_bitrix_sessid()) {
        if ($bEdit) {
            $arResult['ERROR_MESSAGE'] = '';
            if (!$CCrmInvoice->cPerms->CheckEnityAccess('INVOICE', 'DELETE', $arEntityAttr[$arParams['ELEMENT_ID']])) {
                $arResult['ERROR_MESSAGE'] .= GetMessage('CRM_PERMISSION_DENIED') . '<br />';
            }
            if (empty($arResult['ERROR_MESSAGE']) && !$CCrmInvoice->Delete($arResult['ELEMENT']['ID'])) {
                $arResult['ERROR_MESSAGE'] = GetMessage('CRM_DELETE_ERROR');
            }
            if (empty($arResult['ERROR_MESSAGE'])) {
                LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_INVOICE_LIST']));
            } else {
                ShowError($arResult['ERROR_MESSAGE']);
            }
            return;
        } else {
            ShowError(GetMessage('CRM_DELETE_ERROR'));
            return;
        }
    }
}
//$bStatusSuccess = CCrmStatusInvoice::isStatusSuccess($arResult['ELEMENT']['STATUS_ID']);
Exemplo n.º 3
0
} elseif ($action === 'DELETE_ENTITY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $typeName = isset($_REQUEST['ENTITY_TYPE_NAME']) ? $_REQUEST['ENTITY_TYPE_NAME'] : '';
    if ($typeName !== CCrmOwnerType::InvoiceName) {
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_TYPE_NOT_SUPPORTED', array('#ENTITY_TYPE#' => $typeName))));
    }
    $ID = isset($_REQUEST['ENTITY_ID']) ? intval($_REQUEST['ENTITY_ID']) : 0;
    if ($ID <= 0) {
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_ID_NOT_FOUND')));
    }
    if (!CCrmAuthorizationHelper::CheckDeletePermission(CCrmOwnerType::InvoiceName, $ID, $curUserPrems)) {
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_ACCESS_DENIED')));
    }
    $entity = new CCrmInvoice(false);
    //$DB->StartTransaction();
    $successed = $entity->Delete($ID);
    if ($successed) {
        //$DB->Commit();
        __CrmMobileInvoiceEditEndResonse(array('DELETED_ENTITY_ID' => $ID));
    } else {
        //$DB->Rollback();
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_INVOICE_COULD_NOT_DELETE')));
    }
} elseif ($action === 'GET_ENTITY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $typeName = isset($_REQUEST['ENTITY_TYPE_NAME']) ? $_REQUEST['ENTITY_TYPE_NAME'] : '';
    if ($typeName !== CCrmOwnerType::DealName) {
        __CrmMobileInvoiceEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_TYPE_NOT_SUPPORTED', array('#ENTITY_TYPE#' => $typeName))));
    }
    $ID = isset($_REQUEST['ENTITY_ID']) ? intval($_REQUEST['ENTITY_ID']) : 0;
    if ($ID <= 0) {
Exemplo n.º 4
0
 public static function delete($params)
 {
     global $DB;
     $ID = CCrmInvoiceRestUtil::getParamScalar($params, 'id', 0);
     if ($ID <= 0) {
         throw new RestException('Invalid identifier.');
     }
     $invoice = new CCrmInvoice();
     if (!CCrmInvoice::CheckUpdatePermission($ID)) {
         throw new RestException('Access denied.');
     }
     $DB->StartTransaction();
     if (!$invoice->Delete($ID)) {
         $DB->Rollback();
         throw new RestException('Error on deleting invoice.');
     } else {
         $DB->Commit();
     }
     return $ID;
 }