예제 #1
0
 if (!$arRes) {
     continue;
 }
 $WF_ID = $subID;
 if ($boolSubWorkFlow) {
     $WF_ID = CIBlockElement::WF_GetLast($subID);
     if ($WF_ID != $subID) {
         $rsData2 = CIBlockElement::GetByID($WF_ID);
         if ($arRes = $rsData2->Fetch()) {
             $WF_ID = $arRes["ID"];
         } else {
             $WF_ID = $subID;
         }
     }
     if ($arRes["LOCK_STATUS"] == 'red' && !($_REQUEST['action'] == 'unlock' && CWorkflow::IsAdmin())) {
         $lAdmin->AddUpdateError(GetMessage("IBEL_A_UPDERR1") . " (ID:" . $subID . ")", $subID);
         continue;
     }
 } elseif ($boolSubBizproc) {
     if (CIBlockDocument::IsDocumentLocked($subID, "")) {
         $lAdmin->AddUpdateError(GetMessage("IBEL_A_UPDERR_LOCKED", array("#ID#" => $subID)), $subID);
         continue;
     }
 }
 if ($boolSubWorkFlow) {
     if (!CIBlockElementRights::UserHasRightTo($intSubIBlockID, $subID, "element_edit")) {
         $lAdmin->AddUpdateError(GetMessage("IBEL_A_UPDERR3") . " (ID:" . $subID . ")", $subID);
         continue;
     }
     $STATUS_PERMISSION = 2;
     // change is under workflow find status and its permissions
예제 #2
0
        foreach ($FIELDS as $couponID => $fields) {
            $couponID = (int) $couponID;
            if ($couponID <= 0 || !$adminList->IsUpdated($couponID)) {
                continue;
            }
            unset($fields['DISCOUNT_ID']);
            $conn->startTransaction();
            $result = Internals\DiscountCouponTable::prepareCouponData($fields);
            if ($result->isSuccess()) {
                $result = Internals\DiscountCouponTable::update($couponID, $fields);
            }
            if ($result->isSuccess()) {
                $conn->commitTransaction();
            } else {
                $conn->rollbackTransaction();
                $adminList->AddUpdateError(implode('<br>', $result->getErrorMessages()), $couponID);
            }
            unset($result);
        }
        unset($fields, $couponID);
        Internals\DiscountCouponTable::enableCheckCouponsUse();
    }
}
if (!$couponsReadOnly && ($listID = $adminList->GroupAction())) {
    $checkUseCoupons = $_REQUEST['action'] == 'delete';
    Internals\DiscountCouponTable::clearDiscountCheckList();
    if ($_REQUEST['action_target'] == 'selected') {
        $listID = array();
        $couponIterator = Internals\DiscountCouponTable::getList(array('select' => array('ID'), 'filter' => $filter));
        while ($coupon = $couponIterator->fetch()) {
            $listID[] = $coupon['ID'];
$lAdmin->InitFilter($arFilterFields);
$arFilter = array("DISCOUNT_ID" => $intDiscountID);
if (!($USER->CanDoOperation('catalog_read') || $USER->CanDoOperation('catalog_discount'))) {
    return '';
}
$boolCouponsReadOnly = isset($boolCouponsReadOnly) && false === $boolCouponsReadOnly ? false : true;
if ($lAdmin->EditAction() && !$boolCouponsReadOnly) {
    foreach ($_POST['FIELDS'] as $ID => $arFields) {
        $DB->StartTransaction();
        $ID = intval($ID);
        if (!$lAdmin->IsUpdated($ID)) {
            continue;
        }
        if (!CCatalogDiscountCoupon::Update($ID, $arFields)) {
            if ($ex = $APPLICATION->GetException()) {
                $lAdmin->AddUpdateError($ex->GetString(), $ID);
            } else {
                $lAdmin->AddUpdateError(str_replace("#ID#", $ID, GetMessage("ERROR_UPDATE_DISCOUNT_CPN")), $ID);
            }
            $DB->Rollback();
        }
        $DB->Commit();
    }
}
if (($arID = $lAdmin->GroupAction()) && !$boolCouponsReadOnly) {
    if ($_REQUEST['action_target'] == 'selected') {
        $arID = array();
        $dbResultList = CCatalogDiscountCoupon::GetList(array($by => $order), $arFilter, false, false, array("ID"));
        while ($arResult = $dbResultList->Fetch()) {
            $arID[] = $arResult['ID'];
        }