|
@@ -0,0 +1,46 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+from __future__ import unicode_literals
|
|
|
+
|
|
|
+from django.db import models, migrations
|
|
|
+
|
|
|
+
|
|
|
+PAYMENT_MEAN_MAPPING = {
|
|
|
+ 'cash': (1, 'Espèces'),
|
|
|
+ 'check': (2, 'Chèque'),
|
|
|
+ 'transfer': (3, 'Virement'),
|
|
|
+ 'other': (4, 'Autre')
|
|
|
+}
|
|
|
+
|
|
|
+def forward(apps, schema_editor):
|
|
|
+ # PaymentMethod = apps.get_model("billing", "PaymentMethod")
|
|
|
+
|
|
|
+ # Change invoices payment mean choice field to foreign key
|
|
|
+ MembershipFee = apps.get_model("members", "MembershipFee")
|
|
|
+
|
|
|
+ for fee in MembershipFee.objects.all():
|
|
|
+ if fee.payment_method and fee.payment_method in PAYMENT_MEAN_MAPPING:
|
|
|
+ fee.payment_method_tmp_id = PAYMENT_MEAN_MAPPING[fee.payment_method][0]
|
|
|
+ fee.save()
|
|
|
+
|
|
|
+def backward(apps, schema_editor):
|
|
|
+ # Change invoices payment mean foreign key field to choice
|
|
|
+ MembershipFee = apps.get_model("members", "MembershipFee")
|
|
|
+
|
|
|
+ for fee in MembershipFee.objects.all():
|
|
|
+ if fee.payment_method_tmp_id:
|
|
|
+ for k,v in PAYMENT_MEAN_MAPPING.iteritems():
|
|
|
+ if v[0]==fee.payment_method_tmp_id:
|
|
|
+ fee.payment_method = k
|
|
|
+ fee.save()
|
|
|
+
|
|
|
+
|
|
|
+class Migration(migrations.Migration):
|
|
|
+
|
|
|
+ dependencies = [
|
|
|
+ ('billing', '0003_auto_20141101_2337'),
|
|
|
+ ('members', '0011_membershipfee_payment_method_tmp'),
|
|
|
+ ]
|
|
|
+
|
|
|
+ operations = [
|
|
|
+ migrations.RunPython(forward, backward),
|
|
|
+ ]
|