/**
  * creates test tax rates on /dev/build or creating test data in ModelAdmin.
  *
  * @return void
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 02.07.2011
  */
 public static function createTestTaxRates()
 {
     if (self::$enableTestData === true) {
         // create two standard german tax rates if no tax rate exists
         $taxRate = SilvercartTax::get()->first();
         if (!$taxRate) {
             $taxrates = array('19' => array('en_US' => '19%', 'en_GB' => '19%', 'de_DE' => '19%'), '7' => array('en_US' => '7%', 'en_GB' => '7%', 'de_DE' => '7%'));
             $locales = array('de_DE', 'en_GB', 'en_US');
             $fallbackLocale = false;
             if (!in_array(Translatable::get_current_locale(), $locales)) {
                 $locales[] = Translatable::get_current_locale();
                 $fallbackLocale = Translatable::get_current_locale();
             }
             if ($fallbackLocale !== false) {
                 $taxrates[0][$fallbackLocale] = $taxrates[0]['en_US'];
                 $taxrates[1][$fallbackLocale] = $taxrates[1]['en_US'];
             }
             foreach ($taxrates as $taxrate => $languages) {
                 $rateObj = new SilvercartTax();
                 $rateObj->Rate = $taxrate;
                 $rateObj->write();
                 foreach ($languages as $locale => $title) {
                     $rateLanguage = SilvercartTaxLanguage::get()->filter(array('Locale' => $locale, 'SilvercartTaxID' => $rateObj->ID))->first();
                     if (!$rateLanguage) {
                         $rateLanguage = new SilvercartTaxLanguage();
                         $rateLanguage->Locale = $locale;
                         $rateLanguage->SilvercartTaxID = $rateObj->ID;
                     }
                     $rateLanguage->Title = $title;
                     $rateLanguage->write();
                 }
             }
         }
     }
 }