From ad2c8537e3afb1524ab8d0caa257b8fc958da3dd Mon Sep 17 00:00:00 2001 From: Ludovic Stephan Date: Mon, 3 Apr 2017 15:50:18 -0300 Subject: [PATCH] Add Runpython (oops) --- kfet/migrations/0050_remove_checkout.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/kfet/migrations/0050_remove_checkout.py b/kfet/migrations/0050_remove_checkout.py index f9c374ca..b712c2d8 100644 --- a/kfet/migrations/0050_remove_checkout.py +++ b/kfet/migrations/0050_remove_checkout.py @@ -4,6 +4,20 @@ from __future__ import unicode_literals from django.db import migrations, models +def adapt_operation_types(apps, schema_editor): + Operation = apps.get_model("kfet", "Operation") + Operation.objects.filter( + is_checkout=False, + type__in=['withdraw', 'deposit']).update(type='edit') + + +def revert_operation_types(apps, schema_editor): + Operation = apps.get_model("kfet", "Operation") + edits = Operation.objects.filter(type='edit') + edits.filter(amount__gt=0).update(type='deposit') + edits.filter(amount__lte=0).update(type='withdraw') + + class Migration(migrations.Migration): dependencies = [ @@ -11,13 +25,14 @@ class Migration(migrations.Migration): ] operations = [ - migrations.RemoveField( - model_name='operation', - name='is_checkout', - ), migrations.AlterField( model_name='operation', name='type', field=models.CharField(choices=[('purchase', 'Achat'), ('deposit', 'Charge'), ('withdraw', 'Retrait'), ('initial', 'Initial'), ('edit', 'Édition')], max_length=8), ), + migrations.RunPython(adapt_operation_types, revert_operation_types), + migrations.RemoveField( + model_name='operation', + name='is_checkout', + ), ]