/**
  * @return DataList
  */
 function getList()
 {
     $list = parent::getList();
     if (singleton($this->modelClass) instanceof Order) {
         $list = $list->innerJoin("OrderStep", "\"OrderStep\".\"ID\" = \"Order\".\"StatusID\"");
     }
     return $list;
 }
 /**
  * @return array Map of class name to an array of 'title' (see {@link $managed_models})
  * we make sure that the EcommerceDBConfig is FIRST
  */
 function getManagedModels()
 {
     $models = parent::getManagedModels();
     $ecommerceDBConfig = isset($models["EcommerceDBConfig"]) ? $models["EcommerceDBConfig"] : null;
     if ($ecommerceDBConfig) {
         unset($models["EcommerceDBConfig"]);
         return array("EcommerceDBConfig" => $ecommerceDBConfig) + $models;
     }
     return $models;
 }
 function getEditForm($id = null, $fields = null)
 {
     $form = parent::getEditForm();
     if (singleton($this->modelClass) instanceof SiteTree) {
         if ($gridField = $form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass))) {
             if ($gridField instanceof GridField) {
                 $gridField->setConfig(GridFieldEditOriginalPageConfig::create());
             }
         }
     } elseif ($this->modelClass == "SearchHistory") {
         if ($gridField = $form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass))) {
             $form->Fields()->replaceField($gridField->getName(), EcommerceSearchHistoryFormField::create("SearchHistoryTable"));
         }
     }
     return $form;
 }