def currencySelect = {attrs, body ->
if (!attrs['from']) {
attrs['from'] = ['EUR', 'XCD', 'USD', 'XOF', 'NOK', 'AUD', 'XAF', 'NZD', 'MAD', 'DKK', 'GBP', 'CHF', 'XPF', 'ILS', 'ROL', 'TRL']
}
try {
def currency = (attrs['value'] ? attrs['value'] : Currency.getInstance(RCU.getLocale(request)))
attrs.value = currency.currencyCode
}
catch (IllegalArgumentException iae) {
attrs.value = null
}
// invoke generic select
out << select(attrs)
}