/** * 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(); } } } } }