コード例 #1
0
ファイル: order_view.php プロジェクト: Satariall/izurit
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/prolog.php";
$saleOrder = null;
$moduleId = "sale";
$errorMsgs = array();
Loc::loadMessages(__FILE__);
Bitrix\Main\Loader::includeModule('sale');
$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
$arUserGroups = $USER->GetUserGroupArray();
if ($saleModulePermissions == "D") {
    $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED"));
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/lib/helpers/admin/orderedit.php";
$allowedStatusesView = array();
//load order
if (!empty($_REQUEST["ID"]) && intval($_REQUEST["ID"]) > 0) {
    $saleOrder = Bitrix\Sale\Order::load($_REQUEST["ID"]);
}
if ($saleOrder) {
    $allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('view'));
}
if (!$saleOrder || !in_array($saleOrder->getField("STATUS_ID"), $allowedStatusesView)) {
    LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false));
}
$ID = intval($_REQUEST["ID"]);
/** @var Bitrix\Sale\Order $saleOrder */
Admin\OrderEdit::initCouponsData($saleOrder->getUserId(), $ID);
CUtil::InitJSCore();
$APPLICATION->SetTitle(Loc::getMessage("SALE_OVIEW_TITLE", array("#ID#" => $saleOrder->getId(), "#NUM#" => strlen($saleOrder->getField('ACCOUNT_NUMBER')) > 0 ? $saleOrder->getField('ACCOUNT_NUMBER') : $saleOrder->getId(), "#DATE#" => $saleOrder->getDateInsert()->toString())));
\Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_edit.js");
ob_start();
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/admin/order_history.php";
コード例 #2
0
ファイル: export.php プロジェクト: akniyev/itprom_dobrohost
 protected function getProviderInstanceByProviderCode(Bitrix\Sale\Order $order, $providerCode)
 {
     $providerInstance = null;
     switch ($providerCode) {
         case 'ORDER':
         case 'USER':
         case 'PROPERTY':
             $providerInstance = $order;
             break;
         case 'COMPANY':
             $paymentCollection = $order->getPaymentCollection();
             foreach ($paymentCollection as $payment) {
                 if ($payment->getField('COMPANY_ID') > 0) {
                     $providerInstance = $payment;
                     break;
                 }
             }
             if (!$providerInstance) {
                 $shipmentCollection = $order->getShipmentCollection();
                 foreach ($shipmentCollection as $shipment) {
                     if ($shipment->getField('COMPANY_ID') > 0) {
                         $providerInstance = $shipment;
                         break;
                     }
                 }
             }
             break;
         case 'PAYMENT':
             $paymentCollection = $order->getPaymentCollection();
             foreach ($paymentCollection as $payment) {
                 $providerInstance = $payment;
                 break;
             }
             break;
         case 'SHIPMENT':
             $shipmentCollection = $order->getShipmentCollection();
             foreach ($shipmentCollection as $shipment) {
                 $providerInstance = $shipment;
                 break;
             }
             break;
     }
     return $providerInstance;
 }
コード例 #3
0
ファイル: order_edit.php プロジェクト: DarneoStudio/bitrix
        }
        if (array_key_exists('DATE_LOCK', $lockResult) && $lockResult['DATE_LOCK'] instanceof \Bitrix\Main\Type\DateTime) {
            $strLockTime = $lockResult['DATE_LOCK']->toString();
        }
    }
    $strLockUser = $intLockUserID;
    $strLockUserInfo = $intLockUserID;
    $userIterator = \Bitrix\Main\UserTable::getList(array('select' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'EMAIL'), 'filter' => array('=ID' => $intLockUserID)));
    if ($arOneUser = $userIterator->fetch()) {
        $strLockUser = CUser::FormatName($strNameFormat, $arOneUser);
        $strLockUserInfo = '<a href="/bitrix/admin/user_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $intLockUserID . '">' . $strLockUser . '</a>';
    }
    unset($arOneUser, $userIterator);
    $result->addError(new \Bitrix\Main\Entity\EntityError(GetMessage('SOE_ORDER_LOCKED2', array('#ID#' => $strLockUserInfo, '#DATE#' => $strLockTime))));
}
if (!($order = Bitrix\Sale\Order::load($_REQUEST["ID"]))) {
    LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false));
}
$userId = isset($_POST["USER_ID"]) ? intval($_POST["USER_ID"]) : $order->getUserId();
OrderEdit::initCouponsData($userId, $ID, isset($_POST["OLD_USER_ID"]) ? intval($_POST["USER_ID"]) : $userId);
if (!$boolLocked) {
    \Bitrix\Sale\Order::lock($ID);
}
$isSavingOperation = $_SERVER["REQUEST_METHOD"] == "POST" && (isset($_POST["apply"]) || isset($_POST["save"]));
$isRefreshDataAndSaveOperation = $_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["refresh_data_and_save"]) && $_POST["refresh_data_and_save"] == "Y";
$isNeedFieldsRestore = $_SERVER["REQUEST_METHOD"] == "POST" && !$isSavingOperation && !$isRefreshDataAndSaveOperation;
//save order params
if (($isSavingOperation || $isNeedFieldsRestore || $isRefreshDataAndSaveOperation) && $saleModulePermissions >= "U" && check_bitrix_sessid() && $result->isSuccess()) {
    if ($isSavingOperation || $isRefreshDataAndSaveOperation) {
        $order = OrderEdit::editOrderByFormData($_POST, $order, $USER->GetID(), true, $_FILES, $result);
    }
コード例 #4
0
ファイル: order_create.php プロジェクト: DarneoStudio/bitrix
            }
            $formData["PRODUCT"][$basketCode] = $productParams;
            $formData["PRODUCT"][$basketCode]["BASKET_CODE"] = $basketCode;
            $basketCode++;
        }
        if (empty($formData["PRODUCT"])) {
            unset($formData["PRODUCT"]);
        }
    }
    $order = OrderEdit::createOrderFromForm($formData, $USER->GetID(), false, array(), $result);
    if (!$order) {
        $result->addError(new \Bitrix\Main\Entity\EntityError("Can't create order!"));
    }
} elseif ($isCopyingOrderOperation) {
    /** @var \Bitrix\Sale\Order $originalOrder */
    $originalOrder = Bitrix\Sale\Order::load($ID);
    if ($originalOrder) {
        $order = \Bitrix\Sale\Order::create($originalOrder->getSiteId(), $originalOrder->getUserId(), $originalOrder->getCurrency());
        $order->setPersonTypeId($originalOrder->getPersonTypeId());
        $originalPropCollection = $originalOrder->getPropertyCollection();
        $properties['PROPERTIES'] = array();
        $files = array();
        /** @var \Bitrix\Sale\PropertyValue $prop */
        foreach ($originalPropCollection as $prop) {
            if ($prop->getField('TYPE') == 'FILE') {
                $propValue = $prop->getValue();
                if ($propValue) {
                    $files[] = CAllFile::MakeFileArray($propValue['ID']);
                    $properties['PROPERTIES'][$prop->getPropertyId()] = $propValue['ID'];
                }
            } else {
コード例 #5
0
ファイル: order_view.php プロジェクト: DarneoStudio/bitrix
use Bitrix\Sale\Helpers\Admin;
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/prolog.php";
$saleOrder = null;
$moduleId = "sale";
$errorMsgs = array();
Loc::loadMessages(__FILE__);
Bitrix\Main\Loader::includeModule('sale');
$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
$arUserGroups = $USER->GetUserGroupArray();
if ($saleModulePermissions == "D") {
    $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED"));
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/lib/helpers/admin/orderedit.php";
//load order
if (!isset($_REQUEST["ID"]) || intval($_REQUEST["ID"]) <= 0 || !($saleOrder = Bitrix\Sale\Order::load($_REQUEST["ID"]))) {
    LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false));
}
$ID = intval($_REQUEST["ID"]);
/** @var Bitrix\Sale\Order $saleOrder */
Admin\OrderEdit::initCouponsData($saleOrder->getUserId(), $ID);
CUtil::InitJSCore();
$APPLICATION->SetTitle(Loc::getMessage("SALE_OVIEW_TITLE", array("#ID#" => $saleOrder->getId(), "#NUM#" => strlen($saleOrder->getField('ACCOUNT_NUMBER')) > 0 ? $saleOrder->getField('ACCOUNT_NUMBER') : $saleOrder->getId(), "#DATE#" => $saleOrder->getDateInsert()->toString())));
\Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_edit.js");
ob_start();
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/admin/order_history.php";
$historyContent = ob_get_contents();
ob_end_clean();
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
/* context menu */
$aMenu = array();