解析Bug #227
Delivery date cannot be less than input date
Description
Task Details
- Currently Delivery date can be set < Input Date (see attachment)
- We should add some validation to set Delivery date >= Input Date dayas.
- Claim from Lee
- Report and Solution
Others
Files
Updated by Xihua Fan about 3 years ago
- File Delivery Date Issue.png Delivery Date Issue.png added
Updated by Xihua Fan about 3 years ago
- Subject changed from Delivery date should be greater than input date to Delivery date cannot be less than input date
- Description updated (diff)
Updated by Zhongbao Ye about 3 years ago
- Status changed from 进行中 to 已关闭
- % Done changed from 0 to 100
Output(2022/10/13)
1. 订单创建时,delivery date 需大于当前时间
2. 订单修改时,delivery date 需大于等于订单创建时间
3. 后端抛出异常后,前端js控制订单界面维持原状态,不关闭当前编辑的订单界面。
order/ui/desktop/js/order.js
old:
complete:function(b,c){e.orderGrid("closeEditor",{editor:d,row:a,isSave:!0,data:null,updateRows:!1});
new:
complete:function(b,c){if(!b.responseJSON.success){return 0;}e.orderGrid("closeEditor",{editor:d,row:a,isSave:!0,data:null,updateRows:!1});
protected/actions/order/SaveByAjaxAction.php:run()
try {
// The delivery date should be greater than the order input date
if ($orderRetailerShipTime) {
if ($orderId) {
$orderInfo = Order::model()->findByPk($orderId);
$createDate = $orderInfo->create_time;
} else {
$createDate = time();
}
if (strtotime($orderRetailerShipTime) < strtotime(date("Y-m-d", $createDate))) {
throw new Exception("Delivery date cannot be less than input date");
}
}
}