This contains the following updates from v2.8000:
- Print shipping labels; from the 'awaiting dispatch' page, the label format can be selected to create a PDF of addresses to print to standard labels. Thanks to Deadline Automation Ltd. for this code addition.
- Fixed callback issue on stores where regional settings use a comma as decimal separator. With gateways such as Paypal passing the order value back with a point, the comparison could cause callbacks to fail due to order value not matching.
- Added default sort direction setting for versions.
- Fixed issue where customer groups could not be edited; this was due to a validator which was hidden but still active on a field that is no longer used.
- Fixed issue with 'Spend X get $Y off' promotion which was using extax basket total instead of inctax when required.
It also contains various improvements to the basket and other code
- Can now have up to 9,999,999 of an item in stock
- Error popups if you try to enter qty that conflicts with unitsize setting for a product. For example, if unitsize is 10 and you try to add 1 item, you'll get a warning that the item must be ordered in multiples of 10.
- When adjusting down qty in basket because limited stock, we will reduce down to a size compatible with the unitsize for that product. For example, if you have 33 items in stock, and a user tries to order 40 (because these items must be bought in multiples of 10), it will round down to 30 and show the basket warning that there is not enough stock to give you the full amount.
- Editing quantities in the basket will flag an error and return the amount to a valid number (i.e. compatible with stock limitations and unitsize).
- No longer defaults to textbox if unitsize is not 1. You can have dropdowns or no qty selector. Textboxes will default to the unitsize, e.g. 10, rather than 1.
- We have a new function - SafeModulus. This addresses problems with the built-in Mod function when handling double types.
- General testing, debugging and fixing of various unitsize and stock issues with all the different product types.
- Add a 'unique' index to U_EmailAddress. This should stop a potential issue where it's possible for a customer creating a new account to double click and create two records with the same email address. This code in the upgrade script may fail if there are duplicate records already, those would need to be removed first.