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
				foreach ($statusIds as $statusId)
				{
					if ($statusName = Loc::getMessage("SALE_STATUS_{$statusId}"))
					{
						$statusLanguages[$statusId] []= array(
							'LID'         => $langID,
							'NAME'        => $statusName,
							'DESCRIPTION' => Loc::getMessage("SALE_STATUS_{$statusId}_DESCR"),
						);
					}
				}
			}

			OrderStatus::install(array(
				'ID'     => $orderPaidStatus,
				'SORT'   => 150,
				'NOTIFY' => 'Y',
				'LANG'   => $statusLanguages[$orderPaidStatus],
			));
			CSaleStatus::CreateMailTemplate($orderPaidStatus);

			DeliveryStatus::install(array(
				'ID'     => $deliveryAssembleStatus,
				'SORT'   => 310,
				'NOTIFY' => 'Y',
				'LANG'   => $statusLanguages[$deliveryAssembleStatus],
			));

			DeliveryStatus::install(array(
				'ID'     => $deliveryGoodsStatus,
				'SORT'   => 320,
				'NOTIFY' => 'Y',
Example #3
0
 /**
  * @param null $oldPaid
  * @return Result
  * @throws Main\ObjectNotFoundException
  */
 protected function onAfterSyncPaid($oldPaid = null)
 {
     global $USER;
     $result = new Result();
     /** @var PaymentCollection $paymentCollection */
     if (!($paymentCollection = $this->getPaymentCollection())) {
         throw new Main\ObjectNotFoundException('Entity "PaymentCollection" not found');
     }
     /** @var ShipmentCollection $shipmentCollection */
     if (!($shipmentCollection = $this->getShipmentCollection())) {
         throw new Main\ObjectNotFoundException('Entity "ShipmentCollection" not found');
     }
     $oldPaidBool = null;
     if ($oldPaid !== null) {
         $oldPaidBool = $oldPaid == "Y";
     }
     if ($oldPaid == "N" && $this->isPaid()) {
         $orderStatus = Config\Option::get('sale', 'status_on_paid', '');
         if (strval($orderStatus) != '') {
             if ($USER && $USER->isAuthorized()) {
                 $statusesList = OrderStatus::getAllowedUserStatuses($USER->getID(), $this->getField('STATUS_ID'));
                 $statusesList = array_keys($statusesList);
             } else {
                 $statusesList = OrderStatus::getAllStatuses();
             }
             if ($this->getField('STATUS_ID') != $orderStatus && in_array($orderStatus, $statusesList)) {
                 $this->setField('STATUS_ID', $orderStatus);
             }
         }
     }
     if ($oldPaid !== null && $this->isPaid() != $oldPaidBool) {
         Internals\EventsPool::addEvent($this, EventActions::EVENT_ON_ORDER_PAID, array('ENTITY' => $this));
         Internals\EventsPool::addEvent($this, EventActions::EVENT_ON_ORDER_PAID_SEND_MAIL, array('ENTITY' => $this));
     }
     if (Configuration::getProductReservationCondition() == Configuration::RESERVE_ON_PAY) {
         if ($paymentCollection->hasPaidPayment()) {
             $r = $shipmentCollection->tryReserve();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         } else {
             $r = $shipmentCollection->tryUnreserve();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         }
     } elseif (Configuration::getProductReservationCondition() == Configuration::RESERVE_ON_FULL_PAY) {
         if ($oldPaid == "N" && $this->isPaid()) {
             $r = $shipmentCollection->tryReserve();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         } elseif ($oldPaid == "Y" && !$this->isPaid()) {
             $r = $shipmentCollection->tryUnreserve();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         }
     }
     if (Configuration::needAllowDeliveryOnPay()) {
         if ($oldPaid == "N" && $this->isPaid()) {
             $r = $shipmentCollection->allowDelivery();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         } elseif ($oldPaid == "Y" && !$this->isPaid()) {
             $r = $shipmentCollection->disallowDelivery();
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         }
     }
     return $result;
 }
Example #4
0
while ($row = $result->Fetch()) {
    if ($row['GROUP_ID'] > 2) {
        $saleGroupIds[] = $row['GROUP_ID'];
    }
}
if ($saleGroupIds) {
    $result = GroupTable::getList(array('select' => array('ID', 'NAME'), 'filter' => array('=ID' => $saleGroupIds), 'order' => array('C_SORT' => 'ASC', 'ID' => 'ASC')));
    while ($row = $result->fetch()) {
        $groups[$row['ID']] = $row['NAME'];
    }
}
// A D D / U P D A T E /////////////////////////////////////////////////////////////////////////////////////////////////
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !$readOnly && check_bitrix_sessid() && ($_POST['save'] || $_POST['apply'])) {
    $errors = array();
    $statusType = $_REQUEST['TYPE'] == 'O' ? 'O' : 'D';
    $lockedStatusList = array("O" => array(\Bitrix\Sale\OrderStatus::getInitialStatus(), \Bitrix\Sale\OrderStatus::getFinalStatus()), "D" => array(\Bitrix\Sale\DeliveryStatus::getInitialStatus(), \Bitrix\Sale\DeliveryStatus::getFinalStatus()));
    if ($statusId) {
        foreach ($lockedStatusList as $lockStatusType => $lockStatusIdList) {
            foreach ($lockStatusIdList as $lockStatusId) {
                if ($lockStatusId == $statusId && $statusType != $lockStatusType) {
                    $errors[] = Loc::getMessage('SALE_STATUS_WRONG_TYPE', array('#STATUS_ID#' => htmlspecialcharsEx($statusId), '#STATUS_TYPE#' => Loc::getMessage('SSEN_TYPE_' . $statusType)));
                    break;
                }
            }
        }
    }
    // prepare & check status
    $status = array('TYPE' => $statusType, 'SORT' => ($statusSort = intval($_POST['SORT'])) ? $statusSort : 100, 'NOTIFY' => $_POST['NOTIFY'] ? 'Y' : 'N');
    $isNew = true;
    $result = new \Bitrix\Main\Entity\Result();
    if ($statusId) {
Example #5
0
 protected function updatePaymentStatusAction()
 {
     global $USER;
     if (!isset($this->request['orderId']) || intval($this->request['orderId']) <= 0) {
         throw new ArgumentNullException("orderId");
     }
     if (!isset($this->request['paymentId']) || intval($this->request['paymentId']) <= 0) {
         throw new ArgumentNullException("paymentId");
     }
     $fields = array();
     $orderStatusId = '';
     /** @var \Bitrix\Sale\Order $order */
     $order = \Bitrix\Sale\Order::load($this->request['orderId']);
     /** @var \Bitrix\Sale\Payment $payment */
     $payment = $order->getPaymentCollection()->getItemById($this->request['paymentId']);
     if ($this->request['method'] == 'save') {
         if ($payment->getField('IS_RETURN') == 'Y') {
             $res = $payment->setReturn('N');
             if (!$res->isSuccess()) {
                 $this->addResultError(join("\n", $res->getErrorMessages()));
             }
         } else {
             $res = $payment->setPaid('Y');
             if (!$res->isSuccess()) {
                 $this->addResultError(join("\n", $res->getErrorMessages()));
             }
         }
         foreach ($this->request['data'] as $key => $value) {
             $newKey = substr($key, 0, strripos($key, '_'));
             if (strpos($newKey, 'PAY_VOUCHER') !== false) {
                 $fields[$newKey] = $value;
             }
             if ($newKey == 'ORDER_STATUS_ID') {
                 $orderStatusId = $value;
             }
         }
         $fields['PAY_VOUCHER_DATE'] = new \Bitrix\Main\Type\Date($fields['PAY_VOUCHER_DATE']);
     } else {
         foreach ($this->request['data'] as $key => $value) {
             $newKey = substr($key, 0, strripos($key, '_'));
             if (strpos($newKey, 'PAY_RETURN') !== false) {
                 $fields[$newKey] = $value;
             }
         }
         if (isset($fields['PAY_RETURN_OPERATION_ID']) && $fields['PAY_RETURN_OPERATION_ID'] == 'RETURN') {
             $res = $payment->setReturn('Y');
             if (!$res->isSuccess()) {
                 $this->addResultError(join("\n", $res->getErrorMessages()));
             }
             unset($fields['PAY_RETURN_OPERATION_ID']);
         } else {
             $res = $payment->setPaid('N');
             if (!$res->isSuccess()) {
                 $this->addResultError(join("\n", $res->getErrorMessages()));
             }
         }
         $fields['PAY_RETURN_DATE'] = new \Bitrix\Main\Type\Date($fields['PAY_RETURN_DATE']);
     }
     $saveResult = $payment->setFields($fields);
     if ($saveResult->isSuccess()) {
         if (!empty($orderStatusId)) {
             if ($USER && $USER->isAuthorized()) {
                 $statusesList = Sale\OrderStatus::getAllowedUserStatuses($USER->getID(), $order->getField('STATUS_ID'));
             } else {
                 $statusesList = Sale\OrderStatus::getAllStatuses();
             }
             if ($order->getField('STATUS_ID') != $orderStatusId && array_key_exists($orderStatusId, $statusesList)) {
                 $res = $order->setField('STATUS_ID', $orderStatusId);
                 if (!$res->isSuccess()) {
                     $this->addResultError(join("\n", $res->getErrorMessages()));
                     return;
                 }
             }
         }
         $result = $order->save();
         if ($result->isSuccess()) {
             $preparedData = \Bitrix\Sale\Helpers\Admin\Blocks\OrderFinanceInfo::prepareData($order);
             $preparedData["PAYMENT_PAID_" . $payment->getId()] = $payment->isPaid() ? "Y" : "N";
             $this->addResultData("RESULT", $preparedData);
         } else {
             $this->addResultError(join("\n", $result->getErrorMessages()));
         }
     } else {
         $this->addResultError(join("\n", $saveResult->getErrorMessages()));
     }
 }
Example #6
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 #7
0
 public static function getStatusesList($userId, $orderStatus = false)
 {
     if ($orderStatus === false) {
         $orderStatus = \Bitrix\Sale\OrderStatus::getInitialStatus();
     }
     return \Bitrix\Sale\OrderStatus::getAllowedUserStatuses($userId, $orderStatus);
 }
Example #8
0
    LocalRedirect("sale_order.php?lang=" . LANG . GetFilterParams("filter_", false));
}
$db_order = CSaleOrder::GetList(array("ID" => "DESC"), array("ID" => $ID));
if (!$db_order->ExtractFields("str_")) {
    LocalRedirect("sale_order.php?lang=" . LANG . GetFilterParams("filter_", false));
}
$APPLICATION->SetTitle(GetMessage("SALE_PRINT_RECORD", array("#ID#" => $ID)));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
global $USER;
$bUserCanViewOrder = false;
$bUserCanEditOrder = false;
$allowedStatusesView = \Bitrix\Sale\OrderStatus::getStatusesGroupCanDoOperations($USER->GetUserGroupArray(), array('view'));
if (in_array($str_STATUS_ID, $allowedStatusesView)) {
    $bUserCanViewOrder = true;
}
$allowedStatusesUpdate = \Bitrix\Sale\OrderStatus::getStatusesGroupCanDoOperations($USER->GetUserGroupArray(), array('update'));
if (in_array($str_STATUS_ID, $allowedStatusesUpdate)) {
    $bUserCanEditOrder = true;
}
$errorMessage = "";
if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($Print) > 0 && check_bitrix_sessid() && $bUserCanViewOrder) {
    if (count($REPORT_ID) > 0) {
        $db_basket = CSaleBasket::GetList(array('ID' => 'ASC'), array("ORDER_ID" => $ID));
        $productCountInBasket = $db_basket->SelectedRowsCount();
        $showAll = "N";
        if ($productCountInBasket == count($BASKET_IDS)) {
            $showAll = "Y";
        }
        if ($showAll == "N") {
            $sBasket = "";
            $sQuantity = "";
Example #9
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::getAllowedUserStatuses($USER->GetID(), \Bitrix\Sale\OrderStatus::getInitialStatus());
foreach ($statusesList as $statusCode => $statusName) {
    ?>
<option value="<?php 
    echo htmlspecialcharsbx($statusCode);
    ?>
"<?php 
    if (is_array($filter_status) && in_array($statusCode, $filter_status)) {
        echo " selected";
    }
    ?>
>[<?php 
    echo htmlspecialcharsbx($statusCode);
    ?>
] <?php 
    echo htmlspecialcharsEx($statusName);
Example #10
0
            foreach ($payments as $payment) {
                echo Blocks\OrderPayment::getEdit($payment, ++$index, $_POST['PAYMENT'][$index]);
            }
            echo Blocks\OrderPayment::createButtonAddPayment('edit');
            break;
        case 'relprops':
            echo Blocks\OrderBuyer::getPropsEdit($order);
            break;
        case "financeinfo":
            echo Blocks\OrderFinanceInfo::getView($order);
            break;
        case "additional":
            echo Blocks\OrderAdditional::getEdit($order, $formId . "_form", 'ORDER');
            break;
        case "statusorder":
            echo Blocks\OrderStatus::getEditSimple($USER->GetID(), 'STATUS_ID', \Bitrix\Sale\OrderStatus::getInitialStatus());
            break;
    }
    $tabControl->DraggableBlockEnd();
}
?>
	</div>
</td></tr>
<?php 
$tabControl->EndTab();
$tabControl->Buttons(array("back_url" => "/bitrix/admin/sale_order_create.php?lang=" . LANGUAGE_ID . "&SITE_ID=" . $siteId . GetFilterParams("filter_")));
$tabControl->End();
?>
<div style="display: none;">
	<?php 
echo $orderBasket->getSettingsDialogContent();
Example #11
0
 /**
  * Get additional data for cache
  *
  * @return array
  */
 protected function getAdditionalRefereneces()
 {
     if (!$this->isSale) {
         return array();
     }
     return array('ORDER_STATUS' => Sale\OrderStatus::getAllStatuses());
 }
Example #12
0
 public static function getStatusesList($userId)
 {
     return \Bitrix\Sale\OrderStatus::getAllowedUserStatuses($userId, \Bitrix\Sale\OrderStatus::getInitialStatus());
 }
Example #13
0
             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 #14
0
 /**
  * @param Order $order
  * @param array $formData
  * @param int $userId
  *
  * @return \Bitrix\Sale\Result
  */
 protected static function fillSimpleFields(Order $order, array $formData, $userId = 0)
 {
     $result = new \Bitrix\Sale\Result();
     if (isset($formData["ORDER"]["RESPONSIBLE_ID"])) {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setField("RESPONSIBLE_ID", $formData["ORDER"]["RESPONSIBLE_ID"]);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if (isset($formData["PERSON_TYPE_ID"]) && intval($formData["PERSON_TYPE_ID"]) > 0) {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setPersonTypeId(intval($formData['PERSON_TYPE_ID']));
     } else {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setPersonTypeId(Blocks\OrderBuyer::getDefaultPersonType($order->getSiteId()));
     }
     if (!$r->isSuccess()) {
         $result->addErrors($r->getErrors());
     }
     if (isset($formData["ORDER"]["COMMENTS"])) {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setField("COMMENTS", $formData["ORDER"]["COMMENTS"]);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if (isset($formData["USER_DESCRIPTION"])) {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setField("USER_DESCRIPTION", $formData["USER_DESCRIPTION"]);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if (isset($formData["RESPONSIBLE_ID"])) {
         /** @var \Bitrix\Sale\Result $r */
         $r = $order->setField("RESPONSIBLE_ID", $formData["RESPONSIBLE_ID"]);
         if (!$r->isSuccess()) {
             $result->addErrors($r->getErrors());
         }
     }
     if (isset($formData["STATUS_ID"]) && strlen($formData["STATUS_ID"]) > 0) {
         $statusesList = \Bitrix\Sale\OrderStatus::getAllowedUserStatuses($userId, \Bitrix\Sale\OrderStatus::getInitialStatus());
         if (array_key_exists($formData["STATUS_ID"], $statusesList)) {
             /** @var \Bitrix\Sale\Result $r */
             $r = $order->setField("STATUS_ID", $formData["STATUS_ID"]);
             if (!$r->isSuccess()) {
                 $result->addErrors($r->getErrors());
             }
         }
     }
     return $result;
 }
Example #15
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 
    echo htmlspecialcharsbx($statusCode);
Example #16
0
 /**
  * @param Order $order
  * @param array $formData
  * @param int $userId
  * @return Order
  * @throws \Bitrix\Main\ArgumentOutOfRangeException
  */
 protected static function fillSimpleFields(Order $order, array $formData, $userId = 0)
 {
     if (isset($formData["ORDER"]["RESPONSIBLE_ID"])) {
         $order->setField("RESPONSIBLE_ID", $formData["ORDER"]["RESPONSIBLE_ID"]);
     }
     if (isset($formData["PERSON_TYPE_ID"]) && $formData["PERSON_TYPE_ID"] > 0) {
         $order->setPersonTypeId($formData['PERSON_TYPE_ID']);
     }
     if (isset($formData["ORDER"]["COMMENTS"])) {
         $order->setField("COMMENTS", $formData["ORDER"]["COMMENTS"]);
     }
     if (isset($formData["USER_DESCRIPTION"])) {
         $order->setField("USER_DESCRIPTION", $formData["USER_DESCRIPTION"]);
     }
     if (isset($formData["RESPONSIBLE_ID"])) {
         $order->setField("RESPONSIBLE_ID", $formData["RESPONSIBLE_ID"]);
     }
     if (isset($formData["STATUS_ID"]) && strlen($formData["STATUS_ID"]) > 0) {
         $statusesList = \Bitrix\Sale\OrderStatus::getAllowedUserStatuses($userId, \Bitrix\Sale\OrderStatus::getInitialStatus());
         if (array_key_exists($formData["STATUS_ID"], $statusesList)) {
             $order->setField("STATUS_ID", $formData["STATUS_ID"]);
         }
     }
     return $order;
 }