View Issue Details

IDProjectCategoryView StatusLast Update
0000470OXID eShop (all versions)2. ----- eShop backend (admin) -----public2009-08-27 13:05
Status resolvedResolutionfixed 
Product Version4.0.0.2 revision 14842 
Target VersionFixed in Version4.1.0 revision 17976 
Summary0000470: "Not found" error in orders_main
DescriptionAfter upgrading an old 3.0 shop we discovered a very strange "Not Found" Error in the admin area - in order_main.
After debugging we found out, that there was an exception thrown in oxBasket::addToBasket(). BTW: this exception was not logged in Execption.log ...
The exception thrown is an oxOutOfStockException - probably because in the meanwhile some of the ordered articles are actualy out of stock - but this must not influence calling an order in admin!
So if called from admin the addToBasket method should not check any stock apart from editing an order an e. g. realy adding articles.
As a hotfix a just commented line 321.
Additional InformationThe case is reported by our partner. Localy we cannot reproduce it. But please check if there is checking for stock in this place and if it is - maybe this is not necessarry and may be removed.
TagsNo tags attached.
PHP Version5.2.6
Database Version5.0.33


has duplicate 0000763 closed order => main tab throws exception, if bought article has got an out-of-stock-status 
has duplicate 0000778 closed admin/order_main.php gives 404 File not Found if product out of stock 
has duplicate 0001252 resolveddainius.bigelis admin/order_main.php gives 404 File not Found if product out of stock 



2009-01-19 18:25

reporter   ~0000384

Last edited: 2009-01-19 18:31

This was reported by me and I can reproduce it even in the official OXID Demoshop (PE). Do the following:

Make an order.
Go to the admin interface an set the stock amount of the just ordered article to "0" AND the stock status to "wenn ausverkauft nicht bestellbar" (oxstockflag = 3).
Then look at the order in admin order_overview and klick on "Stamm".

It is caused in oxbasketitem::setAmount() and depends on oxarticle::checkForStock().

There's no reason that the actual stock is checked here because the stock value of the time of order is relevant - not the actual stock.

It does happen always if the stock value is "0" and oxstockflag is "2" or "3".
And even IF there's an exception thrown, it should not lead to a page not found error.