Page MenuHomeIn-Portal Phabricator

D51.id127.diff
No OneTemporary

File Metadata

Created
Sun, Apr 20, 12:24 AM

D51.id127.diff

Index: modules/in-commerce/units/orders/orders_event_handler.php
===================================================================
--- modules/in-commerce/units/orders/orders_event_handler.php
+++ modules/in-commerce/units/orders/orders_event_handler.php
@@ -1636,21 +1636,29 @@
{
parent::OnBeforeClone($event);
+ /** @var OrdersItem $object */
$object = $event->getObject();
- /* @var $object OrdersItem */
if ( substr($event->Special, 0, 9) == 'recurring' ) {
$object->SetDBField('SubNumber', $object->getNextSubNumber());
- $object->SetDBField('OriginalAmount', 0); // needed in this case ?
}
else {
$this->setNextOrderNumber($event);
- $object->SetDBField('OriginalAmount', 0);
}
- $object->SetDBField('OrderDate', adodb_mktime());
+
+ $reset_fields = array(
+ 'OnHold', 'OrderDate', 'ShippingCost', 'ShippingTracking', 'ShippingDate', 'ReturnTotal',
+ 'OriginalAmount', 'ShippingInfo', 'GWResult1', 'GWResult2', 'AffiliateCommission',
+ 'ProcessingFee', 'InsuranceFee',
+ );
+
+ foreach ( $reset_fields as $reset_field ) {
+ $field_options = $object->GetFieldOptions($reset_field);
+ $object->SetDBField($reset_field, $field_options['default']);
+ }
+
+ $object->SetDBField('OrderIP', $this->Application->getClientIp());
$object->UpdateFormattersSubFields();
- $object->SetDBField('GWResult1', '');
- $object->SetDBField('GWResult2', '');
}
function OnReserveItems($event)

Event Timeline