Page MenuHomeIn-Portal Phabricator

D51.id290.diff
No OneTemporary

File Metadata

Created
Wed, Feb 26, 9:02 AM

D51.id290.diff

Index: branches/5.2.x/units/orders/orders_event_handler.php
===================================================================
--- branches/5.2.x/units/orders/orders_event_handler.php
+++ branches/5.2.x/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