Page MenuHomeIn-Portal Phabricator

D183.diff
No OneTemporary

File Metadata

Created
Thu, Aug 14, 4:51 AM

D183.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
@@ -318,16 +318,14 @@
$fields_hash['AffiliateId'] = $affiliate_id;
}
- $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField');
- $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName');
-
- $this->Conn->doUpdate($fields_hash, $table_name, $id_field . ' = ' . $order_id);
-
- $object = $event->getObject();
- /* @var $object kDBItem */
+ /** @var OrdersItem $object */
+ $object = $this->Application->recallObject($event->Prefix . '.-item', null, array('skip_autoload' => true));
+ $object->Load($order_id);
- // set user id to object, since it will be used during order update from OnRecalculateItems event
- $object->SetDBField('PortalUserId', $user->GetID());
+ if ( $object->isLoaded() ) {
+ $object->SetDBFieldsFromHash($fields_hash);
+ $object->Update();
+ }
}
function isAffiliate($user_id)

Event Timeline