예제 #1
0
파일: tasks.py 프로젝트: dimagi/payments
def update_currency_conversion():
    rate_classes = [MachSMSRate, TropoSMSRate, UnicelSMSRate]
    rate_codes = [klass._admin_crud_class.currency_code for klass in rate_classes]
    currencies = BillableCurrency.view(BillableCurrency._currency_view,
        group=True
    ).all()
    relevant_codes = [cur.get('key')[0] for cur in currencies]
    relevant_codes.extend(rate_codes)
    relevant_codes = list(set(relevant_codes))
    for code in relevant_codes:
        currency = BillableCurrency.get_existing_or_new_by_code(code)
        currency.set_live_conversion_rate(currency.currency_code, settings.DEFAULT_CURRENCY.upper())
        currency.save()
예제 #2
0
파일: forms.py 프로젝트: dimagi/payments
 def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
            initial=None, error_class=ErrorList, label_suffix=':',
            empty_permitted=False):
     super(DomainBillingInfoForm, self).__init__(data, files, auto_id, prefix, initial,
         error_class, label_suffix, empty_permitted)
     all_currencies = BillableCurrency.get_all()
     if all_currencies:
         self.fields['currency_code'].choices = [(cur.currency_code, mark_safe("%s %s" %
                                                                               (cur.symbol, cur.currency_code)))
                                                                     for cur in all_currencies]