ProductForm.php:
Add a check to the constructor to check that the variations passed to javascipt have a status of enabled in the admin.

This prevents disabled variations from appearing on the frontend via json, which then get added to the nth dropdown (where n>=2).
(The first drop down doesn't get modified)
Eg:
Variations:
ID	Size	Style	Colour	Status
1	L	T-shirt	Green	Enabled
2	M	T-shirt	Green	Enabled
3	M	T-shirt	Black	Enabled
4	M	T-shirt	Pink	Disabled
The last variation shouldn't be added to the json / shown in the dropdowns:
The php that builds the first select (Size) includes L and M.
The php that builds the json data-map then includes the last variation (M:T-shirt:Pink:Disabled) because the size M is selectable for other variations despite this variation being disabled.

Attribute_OptionField.js
Add a check to prevent multiple instances of the same option being added to a given dropdown by javascript.

Description of problem:
With the above dataset, and with M selected for size, T-shirt gets added to the Style dropdown 2 or 3 times. 2 times if the previous fix is added, and 3 times if not.
The number of times the option is repeated is equal to the number of variations that include it after the set is filtered by the first dropdown.
So in this example, when M is selected for Size, there are:
2 'T-shirt' options added to the Style select (one for each of variations 2-3) when the ProductForm.php fix above is applied, and
3 'T-shirt' options added to the Style select (one for each of variations 2-4) when the ProductForm.php fix above is not applied.
Use Order::create() instead of new Order()
Need extension for updating Amount in Checkout

Need extension for updating Amount in Checkout
Merge pull request #47 from jason-zz/patch-3

Add extend hook in Item->Amount()
UPDATE: allow variations to be enabled/disabled through extensions
Merge remote-tracking branch 'upstream/2.1' into 2.1
Merge pull request #40 from LimeWub/2.1

Product variation dropdown fixes
ENHANCEMENT BaseCurrencyPrecision should be used in Order processing if set in ShopConfig,
BUG: variations cannot be edited by anyone but the super admin
BUG: options cannot be edited by anyone but the super admin
BUG: attributes cannot be edited by anyone but the super admin
NEW: Updated translations for German, Greek, Finnish and Swedish.
Merge pull request #49 from stevie-mayhew/attribute-permissions

BUG: attributes cannot be edited by anyone but the super admin
Merge pull request #50 from stevie-mayhew/option-permissions

BUG: options cannot be edited by anyone but the super admin
Merge pull request #52 from stevie-mayhew/variation-permissions

BUG: variations cannot be edited by anyone but the super admin
Update Variation.php

Formatting.
Merge pull request #51 from stevie-mayhew/variation-extensions

UPDATE: allow variations to be enabled/disabled through extensions
Merge pull request #54 from silverstripe-elliot/BaseCurrencyPrecision

UPDATE If set, BaseCurrencyPrecision should be used in Order processing
Merge pull request #55 from frankmullenger/translations

NEW: Updated translations for German, Greek, Finnish and Swedish.
Merge remote-tracking branch 'upstream/2.1' into 2.1