├── SR
└── DeliveryDate
│ ├── view
│ ├── frontend
│ │ ├── web
│ │ │ ├── template
│ │ │ │ ├── delivery-date-block.html
│ │ │ │ └── fields
│ │ │ │ │ └── delivery-date.html
│ │ │ └── js
│ │ │ │ ├── view
│ │ │ │ ├── delivery-date-block.js
│ │ │ │ └── delivery-date.js
│ │ │ │ ├── mixin
│ │ │ │ └── shipping-mixin.js
│ │ │ │ └── model
│ │ │ │ └── shipping-save-processor
│ │ │ │ └── default.js
│ │ ├── requirejs-config.js
│ │ └── templates
│ │ │ └── order_info_shipping_info.phtml
│ └── adminhtml
│ │ ├── layout
│ │ ├── sales_order_create_index.xml
│ │ └── sales_order_create_load_block_shipping_method.xml
│ │ ├── templates
│ │ ├── order_info_shipping_info.phtml
│ │ └── order
│ │ │ └── create
│ │ │ └── delivery_date.phtml
│ │ └── ui_component
│ │ └── sales_order_grid.xml
│ ├── registration.php
│ ├── etc
│ ├── module.xml
│ ├── events.xml
│ ├── frontend
│ │ ├── events.xml
│ │ └── di.xml
│ ├── extension_attributes.xml
│ ├── config.xml
│ ├── adminhtml
│ │ ├── events.xml
│ │ └── system.xml
│ └── di.xml
│ ├── Model
│ ├── DeliveryDateConfigProvider.php
│ ├── Config
│ │ └── Source
│ │ │ └── Disabled.php
│ ├── Validator.php
│ └── Config.php
│ ├── composer.json
│ ├── Observer
│ ├── AdminhtmlSalesOrderCreateProcessData.php
│ ├── SalesModelServiceQuoteSubmitBefore.php
│ ├── AddHtmlToOrderShippingBlock.php
│ └── AddHtmlToOrderShippingView.php
│ ├── Block
│ └── Adminhtml
│ │ └── DeliveryDate.php
│ ├── Plugin
│ └── Checkout
│ │ ├── Model
│ │ └── ShippingInformationManagement.php
│ │ └── Block
│ │ └── LayoutProcessor.php
│ └── Setup
│ └── InstallSchema.php
└── README.md
/SR/DeliveryDate/view/frontend/web/template/delivery-date-block.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/registration.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/frontend/web/js/view/delivery-date-block.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery',
3 | 'ko',
4 | 'Magento_Ui/js/form/form'
5 | ], function ($, ko, Component) {
6 | 'use strict';
7 |
8 | return Component.extend({
9 | defaults: {
10 | template: 'SR_DeliveryDate/delivery-date-block'
11 | }
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/events.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/frontend/events.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/frontend/web/template/fields/delivery-date.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/extension_attributes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/frontend/di.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | - SR\DeliveryDate\Model\DeliveryDateConfigProvider
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/adminhtml/layout/sales_order_create_index.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | yy-mm-dd
7 | -1
8 | 8
9 | 22
10 | 0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/frontend/requirejs-config.js:
--------------------------------------------------------------------------------
1 | var config = {
2 | "map": {
3 | "*": {
4 | 'Magento_Checkout/js/model/shipping-save-processor/default': 'SR_DeliveryDate/js/model/shipping-save-processor/default'
5 | }
6 | },
7 | config: {
8 | mixins: {
9 | 'Magento_Checkout/js/view/shipping': {
10 | 'SR_DeliveryDate/js/mixin/shipping-mixin': true
11 | },
12 | 'Amazon_Payment/js/view/shipping': {
13 | 'SR_DeliveryDate/js/mixin/shipping-mixin': true
14 | }
15 | }
16 | }
17 | };
18 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/adminhtml/layout/sales_order_create_load_block_shipping_method.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/adminhtml/events.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
10 |
11 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/Model/DeliveryDateConfigProvider.php:
--------------------------------------------------------------------------------
1 | config = $config;
22 | }
23 |
24 | /**
25 | * {@inheritdoc}
26 | */
27 | public function getConfig()
28 | {
29 | return $this->config->getConfig();
30 | }
31 | }
--------------------------------------------------------------------------------
/SR/DeliveryDate/view/frontend/templates/order_info_shipping_info.phtml:
--------------------------------------------------------------------------------
1 |
2 |
3 | = $block->escapeHtml(__('Delivery Date Information')) ?>
4 |
5 |
6 |
7 | = __('Delivery Date') ?>
8 | = $block->getDeliveryDate() ?>
9 |
10 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/SR/DeliveryDate/Model/Validator.php:
--------------------------------------------------------------------------------
1 | dateTime = $dateTime;
22 | }
23 |
24 | /**
25 | * @param string $deliveryDate
26 | * @return bool
27 | */
28 | public function validate($deliveryDate)
29 | {
30 | if ($deliveryDate) {
31 | $deliveryDate = $this->dateTime->date('Y-m-d H:i:s', $deliveryDate);
32 | $now = $this->dateTime->date('Y-m-d H:i:s');
33 | if ($now > $deliveryDate) {
34 | return false;
35 | }
36 | }
37 |
38 | return true;
39 | }
40 | }
--------------------------------------------------------------------------------
/SR/DeliveryDate/etc/di.xml:
--------------------------------------------------------------------------------
1 |
2 |