Index: branches/5.2.x/units/discounts/discounts_event_handler.php =================================================================== diff -u -N -r14258 -r14625 --- branches/5.2.x/units/discounts/discounts_event_handler.php (.../discounts_event_handler.php) (revision 14258) +++ branches/5.2.x/units/discounts/discounts_event_handler.php (.../discounts_event_handler.php) (revision 14625) @@ -1,6 +1,6 @@ getObject(); - $object->SetDBField( 'Amount', abs($object->GetDBField('Amount')) ); + parent::OnBeforeItemUpdate($event); + + $this->itemChanged($event); } - function OnBeforeItemCreate(&$event) + /** + * Occurs before creating item + * + * @param kEvent $event + * @return void + * @access protected + */ + protected function OnBeforeItemCreate(&$event) { - $this->OnBeforeItemUpdate($event); + parent::OnBeforeItemCreate($event); + + $this->itemChanged($event); } + + /** + * Occurs before item changed + * + * @param kEvent $event + */ + function itemChanged(&$event) + { + $object =& $event->getObject(); + /* @var $object kDBItem */ + + $object->SetDBField('Amount', abs($object->GetDBField('Amount'))); + } } \ No newline at end of file