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

1# Generated by Django 3.2.5 on 2021-10-14 06:31 

2 

3import re 

4 

5from django.db import migrations 

6 

7def build_refs(apps, schema_editor): 

8 """ 

9 Rebuild the integer "reference fields" for existing Build objects 

10 """ 

11 

12 PurchaseOrder = apps.get_model('order', 'purchaseorder') 

13 

14 for order in PurchaseOrder.objects.all(): 14 ↛ 16line 14 didn't jump to line 16 because the loop on line 14 never started

15 

16 ref = 0 

17 

18 result = re.match(r"^(\d+)", order.reference) 

19 

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 

25 

26 # Clip integer value to ensure it does not overflow database field 

27 if ref > 0x7fffffff: 

28 ref = 0x7fffffff 

29 

30 order.reference_int = ref 

31 order.save() 

32 

33 SalesOrder = apps.get_model('order', 'salesorder') 

34 

35 for order in SalesOrder.objects.all(): 35 ↛ 37line 35 didn't jump to line 37 because the loop on line 35 never started

36 

37 ref = 0 

38 

39 result = re.match(r"^(\d+)", order.reference) 

40 

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 

46 

47 # Clip integer value to ensure it does not overflow database field 

48 if ref > 0x7fffffff: 

49 ref = 0x7fffffff 

50 

51 order.reference_int = ref 

52 order.save() 

53 

54 

55class Migration(migrations.Migration): 

56 

57 dependencies = [ 

58 ('order', '0051_auto_20211014_0623'), 

59 ] 

60 

61 

62 operations = [ 

63 migrations.RunPython(build_refs, reverse_code=migrations.RunPython.noop) 

64 ]