Coverage for src/backend/InvenTree/order/migrations/0052_auto_20211014_0631.py: 27%
32 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
1# Generated by Django 3.2.5 on 2021-10-14 06:31
3import re
5from django.db import migrations
7def build_refs(apps, schema_editor):
8 """
9 Rebuild the integer "reference fields" for existing Build objects
10 """
12 PurchaseOrder = apps.get_model('order', 'purchaseorder')
14 for order in PurchaseOrder.objects.all(): 14 ↛ 16line 14 didn't jump to line 16 because the loop on line 14 never started
16 ref = 0
18 result = re.match(r"^(\d+)", order.reference)
20 if result and len(result.groups()) == 1:
21 try:
22 ref = int(result.groups()[0])
23 except Exception: # pragma: no cover
24 ref = 0
26 # Clip integer value to ensure it does not overflow database field
27 if ref > 0x7fffffff:
28 ref = 0x7fffffff
30 order.reference_int = ref
31 order.save()
33 SalesOrder = apps.get_model('order', 'salesorder')
35 for order in SalesOrder.objects.all(): 35 ↛ 37line 35 didn't jump to line 37 because the loop on line 35 never started
37 ref = 0
39 result = re.match(r"^(\d+)", order.reference)
41 if result and len(result.groups()) == 1:
42 try:
43 ref = int(result.groups()[0])
44 except Exception: # pragma: no cover
45 ref = 0
47 # Clip integer value to ensure it does not overflow database field
48 if ref > 0x7fffffff:
49 ref = 0x7fffffff
51 order.reference_int = ref
52 order.save()
55class Migration(migrations.Migration):
57 dependencies = [
58 ('order', '0051_auto_20211014_0623'),
59 ]
62 operations = [
63 migrations.RunPython(build_refs, reverse_code=migrations.RunPython.noop)
64 ]