View Issue Details

IDProjectCategoryView StatusLast Update
0003727OXID eShop (all versions)1.02. Price calculations (discounts, coupons, additional costs etc.)public2012-12-07 15:07
Reporterdainius.bigelis Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.5.8 revision 42471 
Fixed in Version4.5.9 revision 43186 
Summary0003727: Negative product price is possible with discount from 0 to 999999
DescriptionWhen discount is set from 0 units to 9999999 units, and the given "abs" discount is bigger than Product price, then it shows the negative product prices in frontend for those products (with applied discount).
Also you can add those products to basket and perform an order with such negative amounts (only if you have fitting Payment and Shipping Methods, which also have range of price for which it might be applied, i.e. if you would set FROM range to -500 units).
Steps To ReproduceCreate discount with such options:
FROM-TO range of units: 0-9999999
Discount: 500 abs (500 EUR)

See the product prices in the frontend:
for those products, which have prices lower than 500 EUR, the negative prices will be displayed (product price - discount = negative price displayed).

Also there is "RRP" displayed before the price, because probably in this case it compares the "0" stored as RRP price with negative product price, and thinks that it is a reduced price :)
RRP is shown only in 4.6 version eShop.
Additional Informationthere is protector in basket, that if too big discount is applied (what would cause the negative price in basket), then basket amount is set to "0" and discount is shown as exact amount of product price (like 100%, even if discount is "abs"). But this works only when discount range is from 1-999999 (so can be applied only in basket), but not works when applied instantly on the product price (when range is 0-99999).
TagsDiscount
ThemeBoth
BrowserAll
PHP Versionany
Database Versionany

Activities

Linas Kukulskis

2012-03-19 14:11

reporter   ~0006034

added check negative prices converts to 0