コード例 #1
0
ファイル: order_ajax.php プロジェクト: webgksupport/alpina
 protected function deleteShipmentAction()
 {
     $orderId = $this->request['order_id'];
     $shipmentId = $this->request['shipment_id'];
     if ($orderId <= 0 || $shipmentId <= 0) {
         throw new UserMessageException('Error');
     }
     /** @var \Bitrix\Sale\Order $order */
     $order = \Bitrix\Sale\Order::load($orderId);
     if (!$order) {
         throw new UserMessageException('Order with ID=' . $orderId . ' does not exist');
     }
     $shipmentCollection = $order->getShipmentCollection();
     $shipmentItem = $shipmentCollection->getItemById($shipmentId);
     if (!$shipmentItem) {
         throw new UserMessageException('Shipment with ID=' . $shipmentId . ' does not exist');
     }
     $delResult = $shipmentItem->delete();
     if ($delResult->isSuccess()) {
         $saveResult = $order->save();
         if ($saveResult->isSuccess()) {
             $result["DELIVERY_PRICE"] = $shipmentCollection->getBasePriceDelivery();
             $result["DELIVERY_PRICE_DISCOUNT"] = $shipmentCollection->getPriceDelivery();
             $result['PRICE'] = $order->getPrice();
             $result['PAYABLE'] = $result['PRICE'] - $order->getSumPaid();
             $orderBasket = new Admin\Blocks\OrderBasket($order);
             $result["TOTAL_PRICES"] = Admin\OrderEdit::getTotalPrices($order, $orderBasket, false);
             $this->addResultData("RESULT", $result);
         } else {
             $this->addResultError(join("\n", $saveResult->getErrorMessages()));
         }
     } else {
         $this->addResultError(join("\n", $delResult->getErrorMessages()));
     }
 }
コード例 #2
0
ファイル: orderinfo.php プロジェクト: Satariall/izurit
    /**
     * @param Order $order
     * @return string HTML
     */
    public static function getView(Order $order, $orderBasket)
    {
        $currency = $order->getCurrency();
        $orderProps = $order->getPropertyCollection();
        if ($email = $orderProps->getUserEmail()) {
            $email = $email->getViewHtml();
        }
        if ($phone = $orderProps->getPhone()) {
            $phone = $phone->getViewHtml();
        }
        if ($name = $orderProps->getPayerName()) {
            $name = $name->getViewHtml();
        }
        $totalPrices = OrderEdit::getTotalPrices($order, $orderBasket, false);
        $result = '
			<div class="adm-bus-orderinfoblock adm-detail-tabs-block-pin" id="sale-order-edit-block-order-info">
				<div class="adm-bus-orderinfoblock-container">
				<div class="adm-bus-orderinfoblock-title">' . Loc::getMessage("SALE_ORDER_INFO", array("#ID#" => $order->getId(), "#NUM#" => strlen($order->getField("ACCOUNT_NUMBER")) > 0 ? $order->getField("ACCOUNT_NUMBER") : $order->getId(), "#DATE#" => $order->getDateInsert()->toString())) . " [" . $order->getSiteId() . "]" . '<div class="adm-bus-orderinfoblock-status success" id="order_info_order_status_name">' . $order->getField('STATUS_ID') . '</div> <!-- TODO -->
				</div>
				<div class="adm-bus-orderinfoblock-content">
					<div class="adm-bus-orderinfoblock-content-block-customer">
						<ul class="adm-bus-orderinfoblock-content-customer-info">
							<li>
								<span class="adm-bus-orderinfoblock-content-customer-info-param">' . Loc::getMessage("SALE_ORDER_INFO_FIO") . ':</span>
								<span class="adm-bus-orderinfoblock-content-customer-info-value" id="order_info_buyer_name">' . $name . '</span>
							</li>
							<li>
								<span class="adm-bus-orderinfoblock-content-customer-info-param">E-Mail:</span>
								<span class="adm-bus-orderinfoblock-content-customer-info-value"  id="order_info_buyer_email">' . $email . '</span>
							</li>
							<li>
								<span class="adm-bus-orderinfoblock-content-customer-info-param">' . Loc::getMessage("SALE_ORDER_INFO_PHONE") . ':</span>
								<span class="adm-bus-orderinfoblock-content-customer-info-value" id="order_info_buyer_phone">' . $phone . '</span>
							</li>
						</ul>
					</div>
					<div class="adm-bus-orderinfoblock-content-block-order">
						<ul class="adm-bus-orderinfoblock-content-order-info">
							<li>
								<span class="adm-bus-orderinfoblock-content-order-info-param">' . Loc::getMessage("SALE_ORDER_INFO_PRICE") . '</span>
								<span class="adm-bus-orderinfoblock-content-order-info-value" id="order_info_price_basket">' . SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET"]), $currency) . '</span>
							</li>
							<li class="adm-bus-orderinfoblock-content-redtext">
								<span class="adm-bus-orderinfoblock-content-order-info-param">' . Loc::getMessage("SALE_ORDER_INFO_DISCOUNT_PRICE") . '</span>
								<span class="adm-bus-orderinfoblock-content-order-info-value" id="order_info_price_basket_discount">' . SaleFormatCurrency(floatval($totalPrices["PRICE_BASKET_DISCOUNTED"]), $currency) . '</span>
							</li>
							<li>
								<span class="adm-bus-orderinfoblock-content-order-info-param">' . Loc::getMessage("SALE_ORDER_INFO_DELIVERY_PRICE") . '</span>
								<span class="adm-bus-orderinfoblock-content-order-info-value" id="order_info_delivery_price">' . SaleFormatCurrency(floatval($order->getDeliveryPrice()), $currency) . '</span>
							</li>
						</ul>
						<ul class="adm-bus-orderinfoblock-content-order-info-result">
							<li>
								<span class="adm-bus-orderinfoblock-content-order-info-param">' . Loc::getMessage("SALE_ORDER_INFO_ALL_PRICE") . '</span>
								<span class="adm-bus-orderinfoblock-content-order-info-value" id="order_info_buyer_price">' . SaleFormatCurrency(floatval($order->getPrice()), $currency) . '</span>
							</li>
						</ul>
					</div>
					<div class="adm-bus-orderinfoblock-content-block-last">
						' . Loc::getMessage("SALE_ORDER_INFO_PAYED") . ': ' . SaleFormatCurrency(floatval($order->getSumPaid()), $currency) . '<ul class="adm-bus-orderinfoblock-content-last">';
        $updatersContent = "";
        foreach (self::getPaymentsInfo($order) as $payment) {
            $result .= '<a href="#payment_' . $payment["ID"] . '" style="text-decoration: none;">
				<li id="sale-admin-order-icon-payment-' . $payment["ID"] . '" class="adm-bus-orderinfoblock-content-last-icon ' . ($payment["IS_PAYED"] ? 'green' : 'red') . '" ';
            if (strval($payment["LOGOTIP_PATH"]) != '') {
                $result .= 'style="background-image: url(' . $payment["LOGOTIP_PATH"] . ');" ';
            }
            $result .= 'title="' . htmlspecialcharsbx($payment["NAME"]) . '"' . '><span></span></li></a>';
            if (strlen($updatersContent) > 0) {
                $updatersContent .= ",\n";
            }
            $updatersContent .= "\tPAYMENT_PAID_" . $payment["ID"] . ": function(paid) { BX.Sale.Admin.OrderInfo.setIconLamp('payment', '" . $payment["ID"] . "', (paid == 'Y' ? 'green' : 'red')); }";
        }
        $result .= '</ul>
						' . Loc::getMessage("SALE_ORDER_INFO_SHIPMENT") . '
						<ul class="adm-bus-orderinfoblock-content-last">';
        foreach (self::getShipmentsInfo($order) as $shipment) {
            $result .= '<a href="#shipment_' . $shipment["ID"] . '" style="text-decoration: none;">
				<li id="sale-admin-order-icon-shipment-' . $shipment["ID"] . '" class="adm-bus-orderinfoblock-content-last-icon ' . ($shipment["DEDUCTED"] == "Y" ? 'green' : 'red') . '" ';
            if (strval($shipment["LOGOTIP_PATH"]) != '') {
                $result .= 'style="background-image: url(' . $shipment["LOGOTIP_PATH"] . ');" ';
            }
            $result .= 'title="' . htmlspecialcharsbx($shipment["NAME"]) . '"' . '><span></span></li></a>';
            if (strlen($updatersContent) > 0) {
                $updatersContent .= ",\n";
            }
            $updatersContent .= "\tSHIPMENT_STATUS_" . $shipment["ID"] . ": function(shipmentStatus) { BX.Sale.Admin.OrderInfo.setIconLamp('shipment', '" . $shipment["ID"] . "', (shipmentStatus == 'DF' ? 'green' : 'red')); }";
        }
        $result .= '</ul>
					</div>
				</div>
				<div id="sale-order-edit-block-order-info-pin" onclick="BX.Sale.Admin.OrderEditPage.toggleFix(this.id, \'sale-order-edit-block-order-info\');" class="adm-detail-pin-btn-tabs" style="top: 9px;right: 5px;"></div>
				</div>
			</div>';
        $orderEditOpts = \CUserOptions::GetOption("sale_admin", "sale_order_edit", array());
        $isFixed = isset($orderEditOpts["fix_sale-order-edit-block-order-info"]) && $orderEditOpts["fix_sale-order-edit-block-order-info"] == "Y" ? true : false;
        if ($isFixed) {
            $result .= '
				<script type="text/javascript">
					BX.ready(function(){
						setTimeout(function(){BX.Sale.Admin.OrderEditPage.toggleFix("sale-order-edit-block-order-info-pin", "sale-order-edit-block-order-info");},1);
					});
				</script>';
        }
        if (strlen($updatersContent) > 0) {
            $result .= '
					<script type="text/javascript">
						BX.ready(function(){
							BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters({
							' . $updatersContent . '
							});
						});
					</script>';
        }
        return $result;
    }
コード例 #3
0
ファイル: orderbasket.php プロジェクト: DarneoStudio/bitrix
    /**
     * @return string
     */
    public function getScripts()
    {
        if (!static::$jsInited) {
            \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket.js");
            static::$jsInited = true;
        }
        $data = static::prepareData();
        $totalPrices = OrderEdit::getTotalPrices($this->order, $this, false);
        $langPhrases = array("SALE_ORDER_BASKET_TURN", "SALE_ORDER_BASKET_EXPAND", "SALE_ORDER_BASKET_UP_RATIO", "SALE_ORDER_BASKET_PROD_EDIT", "SALE_ORDER_BASKET_DOWN_RATIO", "SALE_ORDER_BASKET_PROD_COUNT", "SALE_ORDER_BASKET_NO_PICTURE", "SALE_ORDER_BASKET_PROD_CREATE", "SALE_ORDER_BASKET_ROW_SETTINGS", "SALE_ORDER_BASKET_PROD_MENU_EDIT", "SALE_ORDER_BASKET_PROD_MENU_DELETE", "SALE_ORDER_BASKET_BASE_CATALOG_PRICE", "SALE_ORDER_BASKET_PROD_EDIT_ITEM_SAVE", "SALE_ORDER_BASKET_KG", "SALE_ORDER_BASKET_COUPON", "SALE_ORDER_BASKET_COUPON_STATUS", "SALE_ORDER_BASKET_COUPON_APPLY", "SALE_ORDER_BASKET_COUPON_DELETE", "SALE_ORDER_BASKET_POSITION_EXISTS");
        $result = '<script type="text/javascript">';
        foreach ($langPhrases as $phrase) {
            $result .= ' BX.message({' . $phrase . ': "' . \CUtil::jsEscape(Loc::getMessage($phrase)) . '"});';
        }
        if ($this->mode == self::EDIT_MODE) {
            $result .= '
				BX.ready(function(){
					' . $this->jsObjName . '= new BX.Sale.Admin.OrderBasketEdit({
						tableId: "' . $this->idPrefix . 'sale_order_edit_product_table",
						idPrefix: "' . $this->idPrefix . '",
						productsOrder: ' . \CUtil::phpToJSObject($data["ITEMS_ORDER"]) . ',
						products: ' . \CUtil::phpToJSObject($data["ITEMS"]) . ',
						visibleColumns: ' . \CUtil::phpToJSObject($this->visibleColumns) . ',
						objName: "' . $this->jsObjName . '",
						createProductBasement: ' . ($this->createProductBasement ? 'true' : 'false') . ',
						columnsCount: ' . count($this->visibleColumns) . ',
						createBasketBottom: true,
						iblocksSkuParams: ' . \CUtil::phpToJSObject($data["IBLOCKS_SKU_PARAMS"]) . ',
						productsOffersSkuParams: ' . \CUtil::phpToJSObject($data["PRODUCTS_OFFERS_SKU"]) . ',
						isShowXmlId: ' . ($this->isShowXmlId ? 'true' : 'false') . ',
						discounts: ' . \CUtil::phpToJSObject(OrderEdit::getOrderedDiscounts($this->order, false)) . ',
						mode: "edit",
						unRemovableFields: ["PRICE", "QUANTITY"],
						' . $this->getTotalBlockFieldsJs($totalPrices, $data) . '
					});

					BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters( ' . $this->jsObjName . '.getFieldsUpdaters() );
					BX.Sale.Admin.OrderBasketCoupons.statusCouponApplyed = ' . DiscountCouponsManager::STATUS_APPLYED . ';
					BX.Sale.Admin.OrderBasketCoupons.mode = BX.Sale.Admin.OrderBasketCoupons.MODES_LIST.' . ($this->order->getId() > 0 ? 'EDIT' : 'CREATE') . ';
					BX.Sale.Admin.OrderBasketCoupons.setCoupons(' . \CUtil::phpToJSObject(OrderEdit::getCouponList($this->order, false)) . ');
				});';
            $result .= $this->settingsDialog->getScripts();
        } else {
            $result .= '
				BX.ready(function(){
					' . $this->jsObjName . '= new BX.Sale.Admin.OrderBasket({
						tableId: "' . $this->idPrefix . 'sale_order_view_product_table",
						idPrefix: "' . $this->idPrefix . '",
						productsOrder: ' . \CUtil::phpToJSObject($data["ITEMS_ORDER"]) . ',
						products: ' . \CUtil::phpToJSObject($data["ITEMS"]) . ',
						visibleColumns: ' . \CUtil::phpToJSObject($this->visibleColumns) . ',
						objName: "' . $this->jsObjName . '",
						createProductBasement: ' . ($this->createProductBasement ? 'true' : 'false') . ',
						iblocksSkuParams: ' . \CUtil::phpToJSObject($data["IBLOCKS_SKU_PARAMS"]) . ',
						columnsCount: ' . count($this->visibleColumns) . ',
						isShowXmlId: ' . ($this->isShowXmlId ? 'true' : 'false') . ',
						discounts: ' . \CUtil::phpToJSObject(OrderEdit::getOrderedDiscounts($this->order, false)) . ',
						createBasketBottom: true,
						mode: "view",
						' . $this->getTotalBlockFieldsJs($totalPrices, $data) . '
					});

					BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters( ' . $this->jsObjName . '.getFieldsUpdaters() );
					BX.Sale.Admin.OrderBasketCoupons.mode = BX.Sale.Admin.OrderBasketCoupons.MODES_LIST.VIEW;
					BX.Sale.Admin.OrderBasketCoupons.setCoupons(' . \CUtil::phpToJSObject(OrderEdit::getCouponList($this->order, false)) . ');
				});';
            $result .= $this->settingsDialog->getScripts();
        }
        $result .= '</script>';
        return $result;
    }