Coverage for migrations / 0032_migrate_repeater_props.py: 0%

38 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-22 07:15 +0000

1# Generated by Django 4.2.27 on 2026-01-16 

2 

3import pgtrigger 

4from django.db import migrations 

5 

6 

7def forward(apps, schema_editor): 

8 FormKitSchemaNode = apps.get_model("formkit_ninja", "FormKitSchemaNode") 

9 

10 with pgtrigger.ignore("formkit_ninja.FormKitSchemaNode:protect_node_updates"): 

11 for node in FormKitSchemaNode.objects.filter(additional_props__isnull=False).iterator(): 

12 changed = False 

13 props = node.additional_props 

14 if not isinstance(props, dict): 

15 continue 

16 

17 if "step" in props: 

18 node.step = str(props.pop("step")) 

19 changed = True 

20 

21 if "addLabel" in props: 

22 node.add_label = props.pop("addLabel") 

23 changed = True 

24 

25 if "upControl" in props: 

26 val = props.pop("upControl") 

27 if val is False or val == "false": 

28 node.up_control = False 

29 changed = True 

30 elif val is True or val == "true": 

31 node.up_control = True 

32 changed = True 

33 

34 if "downControl" in props: 

35 val = props.pop("downControl") 

36 if val is False or val == "false": 

37 node.down_control = False 

38 changed = True 

39 elif val is True or val == "true": 

40 node.down_control = True 

41 changed = True 

42 

43 if changed: 

44 node.additional_props = props 

45 node.save() 

46 

47 

48class Migration(migrations.Migration): 

49 dependencies = [ 

50 ("formkit_ninja", "0031_remove_formkitschemanode_insert_insert_and_more"), 

51 ] 

52 

53 operations = [ 

54 migrations.RunPython(forward, migrations.RunPython.noop), 

55 ]