public static function getScripts()
    {
        $result = '';
        if (!static::$jsInited) {
            \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket_settings.js");
            $result .= '
					BX.message({
						SALE_ORDER_BASKET_JS_SETTINGS_TITLE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_JS_SETTINGS_TITLE")) . '",
						SALE_ORDER_BASKET_JS_SETTINGS_APPLY: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_JS_SETTINGS_APPLY")) . '"
					});
			';
            static::$jsInited = true;
        }
        return $result;
    }
Example #2
0
    /**
     * @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;
    }
Example #3
0
    public function getScripts($recoveryData = array())
    {
        if (!static::$jsInited) {
            \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket.js");
            \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_shipment_basket.js");
            static::$jsInited = true;
        }
        $data = $this->prepareData();
        if (!empty($recoveryData)) {
            $data = $this->modifyFromRequest($data, $recoveryData['1']['PRODUCT']);
        }
        $keys = array_merge(array_keys($data["ITEMS"]), array_keys($data["UNSHIPPED_PRODUCTS"]));
        $result = '
			<script type="text/javascript">
				BX.message({
					SALE_ORDER_BASKET_ROW_SETTINGS: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_ROW_SETTINGS")) . '",
					SALE_ORDER_BASKET_PROD_MENU_ADD: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_PROD_MENU_ADD")) . '",
					SALE_ORDER_BASKET_PROD_MENU_DELETE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_PROD_MENU_DELETE")) . '",
					SALE_ORDER_BASKET_TURN: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_TURN")) . '",
					SALE_ORDER_BASKET_EXPAND: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_EXPAND")) . '",
					SALE_ORDER_BASKET_NO_PICTURE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_NO_PICTURE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_SELECTED_PRODUCTS_DEL: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_SELECTED_PRODUCTS_DEL")) . '",
					SALE_ORDER_SHIPMENT_BASKET_ALL_PRODUCTS_DEL: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ALL_PRODUCTS_DEL")) . '",
					SALE_ORDER_SHIPMENT_BASKET_ADD_NEW_STORE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ADD_NEW_STORE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_BARCODE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_CLOSE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_CLOSE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_ADD: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ADD")) . '",
					SALE_ORDER_SHIPMENT_BASKET_NO_PRODUCTS: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_NO_PRODUCTS")) . '",
					SALE_ORDER_SHIPMENT_BASKET_BARCODE_ALREADY_USED: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_ALREADY_USED")) . '",
					SALE_ORDER_SHIPMENT_BASKET_BARCODE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_BARCODE_CLOSE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_CLOSE")) . '",
					SALE_ORDER_SHIPMENT_BASKET_BARCODE_ENTER: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_ENTER")) . '",
					SALE_ORDER_SHIPMENT_BASKET_ERROR_ALREADY_SHIPPED: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ERROR_ALREADY_SHIPPED")) . '",
					SALE_ORDER_SHIPMENT_BASKET_ERROR_NOT_FOUND: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ERROR_NOT_FOUND")) . '",
				});

				BX.ready(function(){
					' . $this->jsObjName . ' = new BX.Sale.Admin.ShipmentBasketEdit({
						tableId: "' . $this->idPrefix . 'sale_order_edit_product_table",
						productsOrder: ' . \CUtil::PhpToJSObject($keys) . ',
						idPrefix: "' . $this->idPrefix . '",
						products: ' . \CUtil::PhpToJSObject($data["ITEMS"]) . ',
						visibleColumns: ' . \CUtil::PhpToJSObject($this->visibleColumns) . ',
						objName: "' . $this->jsObjName . '",
						isShipped: "' . $this->shipment->isShipped() . '",
						totalBlockFields: {
							PRICE_DELIVERY_DISCOUNT: {
								id: "' . $this->idPrefix . 'sale_order_edit_basket_price_delivery_discount",
								value: "' . roundEx(floatval(0), SALE_VALUE_PRECISION) . '",
								type: "currency"
							}
						},
						dataForRecovery : ' . \CUtil::PhpToJSObject($recoveryData) . ',
						useStoreControl : "' . self::$useStoreControl . '"
					});

					' . $this->systemJsObjName . ' = new BX.Sale.Admin.SystemShipmentBasketEdit({
						tableId: "unshipped",
						productsOrder: ' . \CUtil::PhpToJSObject($keys) . ',
						idPrefix: "del",
						products: ' . \CUtil::PhpToJSObject($data["UNSHIPPED_PRODUCTS"]) . ',
						visibleColumns : ' . \CUtil::PhpToJSObject(self::getDefaultUnShippedVisibleColumns()) . ',
						objName: "' . $this->systemJsObjName . '"
					});

					' . $this->jsObjName . '.link = ' . $this->systemJsObjName . ';
					' . $this->systemJsObjName . '.link = ' . $this->jsObjName . ';
				});';
        $result .= $this->settingsDialog->getScripts();
        $result .= '</script>';
        return $result;
    }