Index: branches/5.1.x/units/products/products_event_handler.php =================================================================== diff -u -N -r13578 -r13745 --- branches/5.1.x/units/products/products_event_handler.php (.../products_event_handler.php) (revision 13578) +++ branches/5.1.x/units/products/products_event_handler.php (.../products_event_handler.php) (revision 13745) @@ -1,6 +1,6 @@ '.$field_values['ProductName'].' (id: '.$field_values['ProductId'].')'); + trigger_error('Invalid product '.$field_values['ProductName'].' (id: '.$field_values['ProductId'].')', E_USER_WARNING); return false; } @@ -904,9 +904,9 @@ $has_required = $this->Conn->GetOne('SELECT COUNT(*) FROM '.$opt_object->TableName.' WHERE Required = 1 AND ProductId = '.$object->GetDBField('ProductId')); //we need to imitate data sumbit, as parent' PreSave sets object values from $items_info $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - $items_info[$object->GetDBField('ProductId')]['HasRequiredOptions'] = $has_required ? 1:0; + $items_info[$object->GetDBField('ProductId')]['HasRequiredOptions'] = $has_required ? '1' : '0'; $this->Application->SetVar($event->getPrefixSpecial(true), $items_info); - $object->SetDBField('HasRequiredOptions', $has_required ? 1:0); + $object->SetDBField('HasRequiredOptions', $has_required ? 1 : 0); } /** @@ -944,11 +944,8 @@ $field_values = Array('ProductId' => $product_id, 'IsPrimary' => 1, 'MinQty' => 1, 'MaxQty' => -1, 'GroupId'=>$group_id); $pr_object->SetDBFieldsFromHash($field_values); $pr_object->SetField('Price', $price); - $ret = $pr_object->Create(); - if ($pr_object->mode == 't') { - $pr_object->setTempID(); - } - return $ret; + + return $pr_object->Create(); } }