/**
  * standard SS method
  * @return FieldSet
  */
 function getCMSFields()
 {
     $fields = parent::getCMSFields();
     foreach ($this->fieldLabels() as $name => $label) {
         $fields->removeByName($name);
     }
     //new section
     $fieldLabels = $this->fieldLabels();
     $versionInfo = new EcommerceConfigDefinitions();
     $fields->addFieldsToTab("Root", array(new Tab('Pricing', new CheckboxField("ShopPricesAreTaxExclusive", $fieldLabels["ShopPricesAreTaxExclusive"]), new HTMLEditorField("CurrenciesExplanation", $fieldLabels["CurrenciesExplanation"], 2, 2)), new Tab('ProductDisplay', new NumericField("NumberOfProductsPerPage", $fieldLabels["NumberOfProductsPerPage"]), new CheckboxField("OnlyShowProductsThatCanBePurchased", $fieldLabels["OnlyShowProductsThatCanBePurchased"]), new HTMLEditorField("NotForSaleMessage", $fieldLabels["NotForSaleMessage"], 2, 2), new CheckboxField("ProductsHaveWeight", $fieldLabels["ProductsHaveWeight"]), new CheckboxField("ProductsHaveModelNames", $fieldLabels["ProductsHaveModelNames"]), new CheckboxField("ProductsHaveQuantifiers", $fieldLabels["ProductsHaveQuantifiers"]), new CheckboxField("ProductsAlsoInOtherGroups", $fieldLabels["ProductsAlsoInOtherGroups"]), new CheckboxField("ProductsHaveVariations", $fieldLabels["ProductsHaveVariations"]), new ImageField("DefaultProductImage", $fieldLabels["DefaultProductImage"], null, null, null, "default-product-image")), new Tab('Checkout', new TextField("PostalCodeURL", $fieldLabels["PostalCodeURL"]), new TextField("PostalCodeLabel", $fieldLabels["PostalCodeLabel"])), new Tab('Emails', new TextField("ReceiptEmail", $fieldLabels["ReceiptEmail"]), new ImageField("EmailLogo", $fieldLabels["EmailLogo"], null, null, null, "logos")), new Tab('Invoice', new TextField("InvoiceTitle", $fieldLabels["InvoiceTitle"]), new HTMLEditorField("ShopPhysicalAddress", $fieldLabels["ShopPhysicalAddress"], 5, 5)), new Tab('Process', new ComplexTableField($this, "OrderSteps", "OrderStep")), new Tab('Advanced', new HeaderField("EcommerceVersionHeading", "Version"), new LiteralField("EcommerceVersion", "<p><strong>E-commerce</strong>: " . $versionInfo->Version() . "</p>"), new LiteralField("SVNVersion", "<p><strong>SVN</strong>: " . $versionInfo->SvnVersion() . "</p>"), new LiteralField("GITVersion", "<p><strong>GIT</strong>: not available yet.</p>"), new HeaderField("ReviewHardcodedSettingsHeading", "Hard-coded settings"), new LiteralField("ReviewHardcodedSettings", "<p>\n\t\t\t\t\t\tYour developer has pre-set some configurations for you.  You can\n\t\t\t\t\t\t<a href=\"/dev/ecommerce/ecommercecheckconfiguration\" target=\"_blank\">review these settings</a>\n\t\t\t\t\t\tbut you will need to ask your developer to change them if they are not right.\n\t\t\t\t\t\tThe reason they can not be set is that changing them can potentially break your application.\n\t\t\t\t\t</p>"))));
     $fields->addFieldsToTab("Root.Main", array(new CheckboxField("UseThisOne", $fieldLabels["UseThisOne"]), new CheckboxField("ShopClosed", $fieldLabels["ShopClosed"])));
     return $fields;
 }