Exemplo n.º 1
0
    def test_to_xdr_does_not_exist(self):
        """

        """
        value_date = datetime(1995, 1, 1)
        rate = convert.to_xdr('EUR', value_date, 100)
        self.assertEqual(rate, 0)
Exemplo n.º 2
0
    def test_to_xdr_does_not_exist(self):
        """

        """
        value_date = datetime(1995, 1, 1)
        rate = convert.to_xdr('EUR', value_date, 100)
        self.assertEqual(rate, 0)
Exemplo n.º 3
0
    def test_to_xdr(self):
        """

        """
        value_date = datetime(1994, 1, 1)
        rate = convert.to_xdr('EUR', value_date, 100)
        self.assertEqual(rate, 150)
Exemplo n.º 4
0
    def test_to_xdr(self):
        """

        """
        value_date = datetime(1994, 1, 1)
        rate = convert.to_xdr('EUR', value_date, 100)
        self.assertEqual(rate, 150)
Exemplo n.º 5
0
def convert_xdr_values(apps, schema_editor):
    """
    convert all transaction's xdr values
    takes ~20 mins
    """
    update_contenttypes(apps.get_app_config('iati'),
                        interactive=False)  # make sure all content types exist

    try:  # don't run on first migration
        Budget = apps.get_model('iati', 'Budget')
        Transaction = apps.get_model('iati', 'Transaction')
        Activity = apps.get_model('iati', 'Activity')

        TranasctionSector = apps.get_model('iati', 'TranasctionSector')
        TransactionRecipientCountry = apps.get_model(
            'iati', 'TransactionRecipientCountry')
        TransactionRecipientSector = apps.get_model(
            'iati', 'TransactionRecipientSector')

    except:
        return

    for budget in Budget.objects.all().iterator():
        budget.xdr_value = convert.to_xdr(budget.currency_id,
                                          budget.value_date, budget.value)
        budget.save()

    for transaction in Transaction.objects.all().iterator():
        transaction.xdr_value = convert.to_xdr(transaction.currency_id,
                                               transaction.value_date,
                                               transaction.value)
        transaction.save()

    for activity in Activity.objects.all().iterator():
        TransactionSector.objects.all().filter(
            transaction__activity=activity).delete()
        TransactionRecipientCountry.objects.all().filter(
            transaction__activity=activity).delete()
        TransactionRecipientSector.objects.all().filter(
            transaction__activity=activity).delete()

        post_save.set_sector_transaction(activity)
        post_save.set_country_region_transaction(activity)