<?php $selectedOptions = $block->getSelectedOptions(); if (count($selectedOptions) > 0 || isset($selectedOptions['warehouse'])) { $selectedOptions = $block->getSelectedOptions(); } $currentUrl = $block->getCurrentUrlInfo(); ?> <section id="order-warehouseblock" class="admin__page-section"><div class="admin__page-section-title"><span class="title"><?= __('Autogedal Warehouse Info') ?></span></div><div class="admin__page-section-content"><div class="admin__field"><label for="history_status" class="admin__field-label"><?= __('Warehouse Carrier') ?></label> <div class="admin__field-control"><select name="order[autogedal_carrier_allocation]" id="history_status" class="admin__control-select"><?php $carriers = $block->getOrderCarrier(); ?> <?php if (!empty($carriers)): ?> <option value=""><?= __('Select carrier') ?></option><?php foreach($carriers as $key => $carrier): ?> <option <?= (isset($selectedOptions["carrier"]) && $selectedOptions["carrier"] == $key) ? "selected" : ""; ?> value="<?= $key; ?>"><?= $carrier; ?></option><?php endforeach; ?> <?php endif; ?></select></div></div><div class="admin__field" id="warehouses-by-carriers"><label for="history_status" class="admin__field-label"><?= __('Warehouse Allocation') ?></label> <div class="admin__field-control"><select name="order[autogedal_warehouse_allocation]" id="history_status" class="admin__control-select"><?php $warehouses = $block->getOrderWarehousee(); ?> <?php if (!empty($warehouses)): ?> <option value=""><?= __('Select warehouse') ?></option><?php foreach($warehouses as $warehouse): ?> <?php if ($warehouse["value"] != '') : ?> <option <?= (isset($selectedOptions["warehouse"]) && $selectedOptions["warehouse"] == $warehouse["value"]) ? "selected" : ""; ?> value="<?= $warehouse["value"]; ?>"><?= $warehouse["label"]; ?></option><?php endif; ?> <?php endforeach; ?> <?php endif; ?></select></div></div><div class="admin__field"><label for="history_status" class="admin__field-label"><?= __('Number of packages') ?></label> <div class="admin__field-control"><input class="validate-number" name="order[packages_number]" type="text" value="<?= isset($selectedOptions["packages_number"]) ? $selectedOptions["packages_number"] : 1; ?>" /></div></div><input name="order_id" type="hidden" value="<?= $block->getOrderId(); ?>" /><?php if (isset($currentUrl) && ($currentUrl['contoller'] == 'order') && ($currentUrl['action'] == 'view')): ?> <button style="margin-top:10px;" name="save-save_warehouse" id="save-save_warehouse" title="<?= /** @noEscape */ __('Save') ?>" type="button" class="action-default scalable edit primary" data-ui-id="sales-order-save_warehouse"><span><?= /** @noEscape */ __('Save') ?></span></button> <?php endif; ?></div></section><div id="create-custom-order-new" class="admin__fieldset" data-mage-init='{"Leadlion_AutogedalWarehouses/js/warehousecr": {"warehousesByCarrierUrl": "<?= $block->escapeUrl($block->getWarehousesByCarrierAjaxUrl()) ?>"}}'><script>
    require([
        "prototype"
    ], function () {
        window.warehouseSourceAjaxUrl = '<?= /** @noEscape */ $block->getAjaxUrl()?>';
        window.warehouseFormKey = '<?= /** @noEscape */ $block->getFormKey()?>';
        window.warehousesByCarrierUrl = '<?= /** @noEscape */ $block->getWarehousesByCarrierAjaxUrl()?>';
    });

    require(
    [
        'jquery',
        'mage/translate',
    ],
    function ($) {
        $("button[name=\"save-save_warehouse\"]").on("click", function() {
            var orderId = $("input[name=order_id]").val();
            var warehouseUpdate = false;
            <?php if (isset($currentUrl) && ($currentUrl['contoller'] == 'order') && ($currentUrl['action'] == 'view')): ?>
            warehouseUpdate = true;
            <?php endif; ?> $.ajax({
                showLoader: true,
                url: warehouseSourceAjaxUrl,
                data: {
                    'order_id': orderId,
                    'warehouse_update': warehouseUpdate,
                    'warehouse': $("select[name=\"order[autogedal_warehouse_allocation]\"]").val(),
                    'carrier': $("select[name=\"order[autogedal_carrier_allocation]\"]").val(),
                    'packages_number': $("input[name=\"order[packages_number]\"]").val(),
                    'action_name': 'saveWarehouse',
                    'form_key': window.FORM_KEY,
                    'isAjax': true
                },
                type: "POST",
                dataType: 'json'
            }).always(function (data) {
                if (warehouseUpdate == true) {
                    window.location.href = '<?= $block->getUrl('sales/order/view/order_id/'.$block->getOrderId()); ?>';
                }
            });
        });
    }
);</script>