if (!isset($_REQUEST["ID"]) || intval($_REQUEST["ID"]) <= 0) { LocalRedirect("/bitrix/admin/sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false)); } $ID = intval($_REQUEST["ID"]); $intLockUserID = 0; $strLockTime = ''; if (isset($_REQUEST['dontsave']) && $_REQUEST['dontsave'] == 'Y') { if (!\Bitrix\Sale\Order::isLocked($ID)) { \Bitrix\Sale\Order::unlock($ID); } \Bitrix\Sale\DiscountCouponsManager::clearByOrder($ID); LocalRedirect("sale_order.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false)); } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/lib/helpers/admin/orderedit.php"; //load order $boolLocked = \Bitrix\Sale\Order::isLocked($ID); if ($boolLocked) { $r = \Bitrix\Sale\Order::getLockedStatus($ID); if ($r->isSuccess()) { $lockResult = $r->getData(); if (array_key_exists('LOCKED_BY', $lockResult) && intval($lockResult['LOCKED_BY']) > 0) { $intLockUserID = intval($lockResult['LOCKED_BY']); } 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()) {
} } } if ($result->isSuccess()) { $res = $order->save(); if (!$res->isSuccess()) { $result->addErrors($res->getErrors()); } else { if (isset($_POST["BUYER_PROFILE_ID"])) { $profResult = OrderEdit::saveProfileData(intval($_POST["BUYER_PROFILE_ID"]), $order, $_POST); if (!$profResult->isSuccess()) { $result->addErrors($profResult->getErrors()); } } if (isset($_POST["save"])) { if (\Bitrix\Sale\Order::isLocked($ID)) { \Bitrix\Sale\Order::unlock($ID); } LocalRedirect("/bitrix/admin/sale_order_edit.php?lang=" . LANGUAGE_ID . "&unlock=Y&target=list&ID=" . $ID . GetFilterParams("filter_", false)); } else { LocalRedirect("/bitrix/admin/sale_order_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $order->getId() . GetFilterParams("filter_", false)); } } } } else { $result->addError(new \Bitrix\Main\Entity\EntityError("Can't update order!")); } } } CUtil::InitJSCore(); $APPLICATION->SetTitle(Loc::getMessage("NEWO_TITLE_EDIT", array("#ID#" => $order->getId(), "#NUM#" => strlen($order->getField('ACCOUNT_NUMBER')) > 0 ? $order->getField('ACCOUNT_NUMBER') : $order->getId(), "#DATE#" => $order->getDateInsert()->toString())));