Example #1
0
$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";
$historyContent = ob_get_contents();
ob_end_clean();
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
Example #2
0
    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))));
}
$allowedStatusesView = array();
$order = Bitrix\Sale\Order::load($_REQUEST["ID"]);
if ($order) {
    $allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('view'));
}
if (!$order || !in_array($order->getField("STATUS_ID"), $allowedStatusesView)) {
    LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false));
}
$allowedStatusesEdit = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('edit'));
if (!in_array($order->getField("STATUS_ID"), $allowedStatusesEdit)) {
    LocalRedirect("/bitrix/admin/sale_order_view.php?ID=" . $ID . "&lang=" . LANGUAGE_ID . GetFilterParams("filter_"));
}
$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);
Example #3
0
        while (($file = readdir($handle)) !== false) {
            if ($file == "." || $file == "..") {
                continue;
            }
            if (is_file($_SERVER["DOCUMENT_ROOT"] . $strPath2Export . $file) && substr($file, strlen($file) - 4) == ".php") {
                $export_name = substr($file, 0, strlen($file) - 4);
                $arGroupActionsTmp["export_" . $export_name] = array("action" => "exportData('" . $export_name . "')", "value" => "export_" . $export_name, "name" => str_replace("#EXP#", $export_name, Loc::getMessage("SOAN_EXPORT_2")));
            }
        }
    }
    closedir($handle);
}
$lAdmin->AddGroupActionTable($arGroupActionsTmp);
$aContext = array();
if ($saleModulePermissions == "U") {
    $allowedStatusesUpdate = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($intUserID, array('update'));
}
if ($saleModulePermissions == "W" || $saleModulePermissions == "U" && !empty($allowedStatusesUpdate)) {
    $siteLID = "";
    $arSiteMenu = array();
    $arSitesShop = array();
    $arSitesTmp = array();
    $rsSites = CSite::GetList($b = "id", $o = "asc", array("ACTIVE" => "Y"));
    while ($arSite = $rsSites->GetNext()) {
        $site = Option::get("sale", "SHOP_SITE_" . $arSite["ID"], "");
        if ($arSite["ID"] == $site) {
            $arSitesShop[] = array("ID" => $arSite["ID"], "NAME" => $arSite["NAME"]);
        }
        $arSitesTmp[] = array("ID" => $arSite["ID"], "NAME" => $arSite["NAME"]);
    }
    $rsCount = count($arSitesShop);
             if ($value["TYPE"] == "STRING" && !preg_match("/^\\d+\$/", $tmp)) {
                 $filterName = "%PROPERTY_VAL_BY_CODE_" . $key;
             } else {
                 $filterName = "PROPERTY_VAL_BY_CODE_" . $key;
             }
             $filterOrderProps[$filterName] = $tmp;
             $filterOrderPropValue[$key] = $tmp;
         }
     }
 }
 if ($saleModulePermissions < "W") {
     if (strlen($filter_lang) <= 0 && count($arAccessibleSites) > 0) {
         $arFilter["=LID"] = $arAccessibleSites;
     }
 }
 $allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($intUserID, array('view'));
 if ($saleModulePermissions < "W") {
     if (!$arFilter["=STATUS_ID"]) {
         $arFilter["=STATUS_ID"] = array();
     }
     $intersected = array_intersect($arFilter["=STATUS_ID"], $allowedStatusesView);
     if (!empty($arFilter["=STATUS_ID"])) {
         if (empty($intersected)) {
             $arFilter[]["=STATUS_ID"] = $arFilter["=STATUS_ID"];
             $arFilter[]["=STATUS_ID"] = $allowedStatusesView;
             unset($arFilter["=STATUS_ID"], $arFilter["=STATUS_ID"]);
         } else {
             $arFilter["=STATUS_ID"] = $intersected;
         }
     } else {
         $arFilter["=STATUS_ID"] = $allowedStatusesView;
Example #5
0
?>
			<input type="text" name="filter_price_to" value="<?php 
echo floatval($filter_price_to) > 0 ? floatval($filter_price_to) : "";
?>
" size="3">
		</td>
	</tr>
	<tr>
		<td valign="top"><?php 
echo Loc::getMessage("SALE_F_STATUS");
?>
:<br /><img src="/bitrix/images/sale/mouse.gif" width="44" height="21" border="0" alt=""></td>
		<td valign="top">
			<select name="filter_status[]" multiple size="3">
				<?php 
$statusesList = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('view'));
$allStatusNames = \Bitrix\Sale\OrderStatus::getAllStatusesNames();
foreach ($statusesList as $statusCode) {
    if (!($statusName = $allStatusNames[$statusCode])) {
        continue;
    }
    ?>
<option value="<?php 
    echo htmlspecialcharsbx($statusCode);
    ?>
"<?php 
    if (is_array($filter_status) && in_array($statusCode, $filter_status)) {
        echo " selected";
    }
    ?>
>[<?php 
Example #6
0
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/lib/helpers/admin/orderedit.php";
//load order
$boolLocked = \Bitrix\Sale\Order::isLocked($ID);
if ($boolLocked) {
    $result->addError(new \Bitrix\Main\Entity\EntityError(OrderEdit::getLockingMessage($ID)));
}
$allowedStatusesView = array();
$order = Bitrix\Sale\Order::load($_REQUEST["ID"]);
if ($order) {
    $allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('view'));
}
if (!$order || !in_array($order->getField("STATUS_ID"), $allowedStatusesView)) {
    LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false));
}
$allowedStatusesUpdate = \Bitrix\Sale\OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('update'));
if (!in_array($order->getField("STATUS_ID"), $allowedStatusesUpdate)) {
    LocalRedirect("/bitrix/admin/sale_order_view.php?ID=" . $ID . "&lang=" . LANGUAGE_ID . GetFilterParams("filter_"));
}
$userId = isset($_POST["USER_ID"]) ? intval($_POST["USER_ID"]) : $order->getUserId();
OrderEdit::initCouponsData($userId, $ID, isset($_POST["OLD_USER_ID"]) ? intval($_POST["USER_ID"]) : null);
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);