Coverage report: 52%

Files Functions Classes

coverage.py v7.15.2, created at 2026-10-07 17:47 +0000

    Statements   Branches   Total
File   coverage statements missing excluded   coverage branches partial   coverage
src/backend/InvenTree/InvenTree/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/admin.py   75% 36 9 0   100% 0 0   75%
src/backend/InvenTree/InvenTree/api.py   75% 436 107 0   44% 88 11   70%
src/backend/InvenTree/InvenTree/api_version.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/apps.py   69% 185 57 0   53% 70 23   65%
src/backend/InvenTree/InvenTree/auth_overrides.py   36% 118 76 0   2% 42 1   27%
src/backend/InvenTree/InvenTree/backends.py   49% 87 44 0   30% 20 0   46%
src/backend/InvenTree/InvenTree/backup.py   43% 94 54 0   8% 26 2   35%
src/backend/InvenTree/InvenTree/cache.py   87% 79 10 0   54% 26 8   79%
src/backend/InvenTree/InvenTree/config.py   69% 293 90 0   49% 124 35   63%
src/backend/InvenTree/InvenTree/conversion.py   45% 139 76 0   16% 44 5   38%
src/backend/InvenTree/InvenTree/exceptions.py   77% 71 16 0   62% 26 10   73%
src/backend/InvenTree/InvenTree/exchange.py   71% 49 14 0   43% 14 6   65%
src/backend/InvenTree/InvenTree/fields.py   80% 133 27 0   75% 32 6   79%
src/backend/InvenTree/InvenTree/filters.py   90% 103 10 0   83% 46 8   88%
src/backend/InvenTree/InvenTree/format.py   90% 49 5 0   67% 18 6   84%
src/backend/InvenTree/InvenTree/helpers.py   45% 518 286 0   23% 220 37   38%
src/backend/InvenTree/InvenTree/helpers_api.py   86% 14 2 0   100% 2 0   88%
src/backend/InvenTree/InvenTree/helpers_email.py   64% 53 19 0   35% 34 12   53%
src/backend/InvenTree/InvenTree/helpers_mfa.py   0% 8 8 0   100% 0 0   0%
src/backend/InvenTree/InvenTree/helpers_mixin.py   75% 57 14 0   38% 16 4   67%
src/backend/InvenTree/InvenTree/helpers_model.py   43% 133 76 0   21% 38 6   38%
src/backend/InvenTree/InvenTree/logging.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/magic_login.py   78% 45 10 0   50% 2 1   77%
src/backend/InvenTree/InvenTree/metadata.py   85% 219 32 0   77% 140 20   82%
src/backend/InvenTree/InvenTree/middleware.py   67% 170 56 0   45% 58 12   61%
src/backend/InvenTree/InvenTree/migrations/0001_initial.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/mixins.py   96% 112 4 0   88% 24 3   95%
src/backend/InvenTree/InvenTree/models.py   57% 645 278 0   34% 190 31   52%
src/backend/InvenTree/InvenTree/permissions.py   76% 201 49 0   52% 64 11   70%
src/backend/InvenTree/InvenTree/profiling.py   0% 60 60 0   0% 8 0   0%
src/backend/InvenTree/InvenTree/ready.py   82% 105 19 0   59% 44 18   75%
src/backend/InvenTree/InvenTree/sanitizer.py   56% 16 7 0   0% 4 0   45%
src/backend/InvenTree/InvenTree/schema.py   90% 168 17 0   88% 76 5   89%
src/backend/InvenTree/InvenTree/sentry.py   50% 40 20 0   10% 10 1   42%
src/backend/InvenTree/InvenTree/serializers.py   79% 412 86 0   68% 182 24   76%
src/backend/InvenTree/InvenTree/setting/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/setting/db_backend.py   59% 74 30 0   30% 44 11   48%
src/backend/InvenTree/InvenTree/setting/ldap.py   8% 26 24 0   0% 10 0   6%
src/backend/InvenTree/InvenTree/setting/locales.py   100% 2 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/setting/markdown.py   100% 2 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/setting/spectacular.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/setting/storages.py   67% 24 8 0   50% 6 3   63%
src/backend/InvenTree/InvenTree/setting/tracing.py   65% 17 6 0   33% 6 2   57%
src/backend/InvenTree/InvenTree/setting/worker.py   82% 22 4 0   50% 12 6   71%
src/backend/InvenTree/InvenTree/settings.py   75% 384 95 0   41% 128 44   67%
src/backend/InvenTree/InvenTree/sso.py   22% 65 51 0   0% 28 0   15%
src/backend/InvenTree/InvenTree/status.py   88% 40 5 0   50% 18 9   76%
src/backend/InvenTree/InvenTree/status_codes.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/tasks.py   42% 457 263 0   29% 120 15   40%
src/backend/InvenTree/InvenTree/template.py   92% 12 1 0   50% 2 1   86%
src/backend/InvenTree/InvenTree/templatetags/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/templatetags/inventree_extras.py   54% 92 42 0   10% 20 2   46%
src/backend/InvenTree/InvenTree/test_helpers/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/InvenTree/test_helpers/sample_tasks.py   0% 2 2 0   100% 0 0   0%
src/backend/InvenTree/InvenTree/tracing.py   21% 104 82 0   0% 38 0   15%
src/backend/InvenTree/InvenTree/unit_test.py   22% 389 302 0   0% 164 0   16%
src/backend/InvenTree/InvenTree/urls.py   92% 51 4 0   50% 10 5   85%
src/backend/InvenTree/InvenTree/validators.py   59% 44 18 0   21% 14 3   50%
src/backend/InvenTree/InvenTree/version.py   76% 153 37 0   47% 34 12   71%
src/backend/InvenTree/InvenTree/views.py   40% 5 3 0   0% 2 0   29%
src/backend/InvenTree/InvenTree/wsgi.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/build/admin.py   100% 17 0 0   100% 0 0   100%
src/backend/InvenTree/build/api.py   79% 410 86 0   47% 32 3   77%
src/backend/InvenTree/build/apps.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/build/events.py   100% 10 0 0   100% 0 0   100%
src/backend/InvenTree/build/filters.py   67% 6 2 0   100% 0 0   67%
src/backend/InvenTree/build/migrations/0001_initial.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0002_auto_20190520_2204.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0003_auto_20190525_2355.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0004_auto_20190525_2356.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0005_auto_20190604_2217.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0006_auto_20190913_1407.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0007_auto_20191118_2321.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0008_auto_20200201_1247.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0009_auto_20200210_1032.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0010_auto_20200318_1027.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0011_auto_20200406_0123.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0012_build_sales_order.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0013_auto_20200425_0507.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0014_auto_20200425_1243.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0015_auto_20200425_1350.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0016_auto_20200426_0551.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0017_auto_20200426_0612.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0018_build_reference.py   71% 14 4 0   50% 4 2   67%
src/backend/InvenTree/build/migrations/0019_auto_20201019_1302.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0020_auto_20201019_1325.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0021_auto_20201020_0908_squashed_0026_auto_20201023_1228.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0022_buildorderattachment.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0023_auto_20201110_0911.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0024_auto_20201201_1023.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0025_build_target_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0026_auto_20210216_1539.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0027_auto_20210404_2016.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0028_builditem_bom_item.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0029_auto_20210601_1525.py   28% 25 18 0   0% 6 0   23%
src/backend/InvenTree/build/migrations/0030_alter_build_reference.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0031_build_reference_int.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0032_auto_20211014_0632.py   45% 20 11 0   17% 6 1   38%
src/backend/InvenTree/build/migrations/0033_auto_20211128_0151.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0034_alter_build_reference_int.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0035_alter_build_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0036_auto_20220707_1101.py   73% 26 7 0   33% 6 2   66%
src/backend/InvenTree/build/migrations/0037_build_priority.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0038_alter_build_responsible.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0039_auto_20230317_0816.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0040_auto_20230404_1310.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0041_alter_build_title.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0042_alter_build_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0043_buildline.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0044_auto_20230528_1410.py   47% 34 18 0   21% 14 3   40%
src/backend/InvenTree/build/migrations/0045_builditem_build_line.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0046_auto_20230606_1033.py   44% 32 18 0   17% 12 2   36%
src/backend/InvenTree/build/migrations/0047_auto_20230606_1058.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0048_build_project_code.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0049_alter_builditem_build_line.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0050_auto_20240508_0138.py   80% 10 2 0   50% 2 1   75%
src/backend/InvenTree/build/migrations/0051_delete_buildorderattachment.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0052_build_status_custom_key_alter_build_status.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0053_alter_build_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0054_build_start_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0055_auto_20250221_1230.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0056_alter_build_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0057_build_external.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0058_buildline_consumed.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/0059_build_tags.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/build/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/build/models.py   30% 739 517 0   1% 266 1   22%
src/backend/InvenTree/build/serializers.py   59% 478 198 0   6% 108 4   49%
src/backend/InvenTree/build/status_codes.py   100% 11 0 0   100% 0 0   100%
src/backend/InvenTree/build/tasks.py   22% 192 149 0   0% 66 0   17%
src/backend/InvenTree/build/validators.py   56% 9 4 0   100% 0 0   56%
src/backend/InvenTree/common/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/common/admin.py   78% 102 22 0   0% 6 0   74%
src/backend/InvenTree/common/api.py   79% 639 131 0   40% 78 11   75%
src/backend/InvenTree/common/apps.py   74% 23 6 0   33% 6 2   66%
src/backend/InvenTree/common/currency.py   50% 116 58 0   28% 54 9   43%
src/backend/InvenTree/common/filters.py   59% 127 52 0   50% 38 5   57%
src/backend/InvenTree/common/icons.py   66% 44 15 0   30% 10 1   59%
src/backend/InvenTree/common/migrations/0001_initial.py   78% 18 4 0   100% 0 0   78%
src/backend/InvenTree/common/migrations/0002_auto_20190902_2304.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0003_auto_20190902_2310.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0004_inventreesetting.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0005_auto_20190915_1256.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0006_auto_20200203_0951.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0007_colortheme.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0008_remove_inventreesetting_description.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0009_delete_currency.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0010_migrate_currency_setting.py   79% 14 3 0   25% 4 1   67%
src/backend/InvenTree/common/migrations/0011_auto_20210722_2114.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0012_notificationentry.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0013_webhookendpoint_webhookmessage.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0014_notificationmessage.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0015_newsfeedentry.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0016_alter_notificationentry_updated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0017_notesimage.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0018_projectcode.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0019_projectcode_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0020_customunit.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0021_auto_20230805_1748.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0022_projectcode_responsible.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0023_auto_20240602_1332.py   36% 36 23 0   6% 18 1   26%
src/backend/InvenTree/common/migrations/0024_notesimage_model_id_notesimage_model_type.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0025_attachment.py   100% 11 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0026_auto_20240608_1238.py   37% 43 27 0   19% 16 1   32%
src/backend/InvenTree/common/migrations/0027_alter_customunit_symbol.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0028_colortheme_user_obj.py   67% 15 5 0   50% 2 1   65%
src/backend/InvenTree/common/migrations/0029_inventreecustomuserstatemodel.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0030_barcodescanresult.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0031_auto_20241026_0024.py   71% 17 5 0   33% 6 2   61%
src/backend/InvenTree/common/migrations/0032_selectionlist_selectionlistentry_and_more.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0033_delete_colortheme.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0034_alter_inventreecustomuserstatemodel_unique_together_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0035_auto_20250221_1513.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0036_alter_attachment_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0037_dataoutput.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0038_alter_attachment_model_type.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0039_emailthread_emailmessage.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0040_parametertemplate_parameter.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0041_auto_20251203_1244.py   50% 52 26 0   25% 12 3   45%
src/backend/InvenTree/common/migrations/0042_attachment_is_image_attachment_thumbnail.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/0043_auto_20260518_1206.py   68% 25 8 0   12% 8 1   55%
src/backend/InvenTree/common/migrations/0044_notificationmessage_charfield_pk.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/common/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/common/models.py   62% 1345 508 0   34% 388 46   56%
src/backend/InvenTree/common/notifications.py   79% 94 20 0   54% 54 11   70%
src/backend/InvenTree/common/serializers.py   89% 400 45 0   53% 68 14   84%
src/backend/InvenTree/common/setting/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/common/setting/system.py   48% 92 48 0   6% 16 1   42%
src/backend/InvenTree/common/setting/type.py   70% 10 3 0   50% 2 1   67%
src/backend/InvenTree/common/setting/user.py   100% 11 0 0   50% 2 1   92%
src/backend/InvenTree/common/settings.py   54% 76 35 0   46% 24 5   52%
src/backend/InvenTree/common/tasks.py   26% 125 92 0   0% 36 0   20%
src/backend/InvenTree/common/validators.py   51% 93 46 0   29% 34 6   45%
src/backend/InvenTree/company/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/company/admin.py   100% 35 0 0   100% 0 0   100%
src/backend/InvenTree/company/api.py   97% 140 4 0   0% 2 0   96%
src/backend/InvenTree/company/apps.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/filters.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0001_initial.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0002_auto_20190520_2204.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0003_remove_supplierpart_minimum.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0004_auto_20190525_2354.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0005_auto_20190525_2356.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0006_supplierpricebreak_currency.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0007_remove_supplierpart_lead_time.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0008_auto_20190913_1407.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0009_auto_20191118_2323.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0010_auto_20200201_1231.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0011_auto_20200318_1114.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0012_auto_20200318_1114.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0013_auto_20200406_0131.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0014_auto_20200407_0116.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0015_company_is_manufacturer.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0016_auto_20200412_2330.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0017_auto_20200413_0320.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0018_supplierpart_manufacturer.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0019_auto_20200413_0642.py   11% 175 155 0   2% 56 1   9%
src/backend/InvenTree/company/migrations/0020_auto_20200413_0839.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0021_remove_supplierpart_manufacturer_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0022_auto_20200613_1045.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0023_auto_20200808_0715.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0024_unique_name_email_constraint.py   53% 17 8 0   12% 8 1   40%
src/backend/InvenTree/company/migrations/0025_auto_20201110_1001.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0026_auto_20201110_1011.py   37% 65 41 0   15% 20 3   32%
src/backend/InvenTree/company/migrations/0027_remove_supplierpricebreak_currency.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0028_remove_supplierpricebreak_cost.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0029_company_currency.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0030_auto_20201112_1112.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0031_auto_20210103_2215.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0032_auto_20210403_1837.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0033_auto_20210410_1528.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0034_manufacturerpart.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0035_supplierpart_update_1.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0036_supplierpart_update_2.py   19% 72 58 0   5% 22 1   16%
src/backend/InvenTree/company/migrations/0037_supplierpart_update_3.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0038_manufacturerpartparameter.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0039_auto_20210701_0509.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0040_alter_company_currency.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0041_alter_company_options.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0042_supplierpricebreak_updated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0043_manufacturerpartattachment.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0044_auto_20220607_2204.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0045_alter_company_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0046_alter_company_image.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0047_supplierpart_pack_size.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0048_auto_20220913_0312.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0049_company_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0050_alter_company_website.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0051_alter_supplierpricebreak_price.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0052_alter_supplierpricebreak_updated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0053_supplierpart_updated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0054_companyattachment.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0055_auto_20230317_0816.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0056_alter_company_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0057_auto_20230427_2033.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0058_auto_20230515_0004.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0059_supplierpart_pack_units.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0060_auto_20230519_0344.py   48% 23 12 0   25% 8 2   42%
src/backend/InvenTree/company/migrations/0061_remove_supplierpart_pack_size.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0062_contact_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0063_auto_20230502_1956.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0064_move_address_field_to_address_model.py   45% 20 11 0   17% 6 1   38%
src/backend/InvenTree/company/migrations/0065_remove_company_address.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0066_auto_20230616_2059.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0067_alter_supplierpricebreak_price_currency.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0068_auto_20231120_1108.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0069_company_active.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0070_remove_manufacturerpartattachment_manufacturer_part_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0071_manufacturerpart_notes_supplierpart_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0072_auto_20250221_1236.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0073_alter_address_link_alter_company_link_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0074_alter_manufacturerpart_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0075_company_tax_id.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0076_alter_company_image.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0077_delete_manufacturerpartparameter.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0078_supplierpart_primary.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/0079_auto_20260212_1054.py   53% 19 9 0   17% 6 1   44%
src/backend/InvenTree/company/migrations/0080_company_tags.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/company/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/company/models.py   58% 315 131 0   2% 58 1   50%
src/backend/InvenTree/company/serializers.py   87% 143 18 0   30% 10 1   84%
src/backend/InvenTree/data_exporter/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/data_exporter/apps.py   92% 13 1 0   100% 0 0   92%
src/backend/InvenTree/data_exporter/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/data_exporter/mixins.py   28% 201 145 0   10% 68 5   23%
src/backend/InvenTree/data_exporter/serializers.py   31% 35 24 0   0% 14 0   22%
src/backend/InvenTree/data_exporter/tasks.py   24% 25 19 0   0% 6 0   19%
src/backend/InvenTree/generic/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/generic/enums.py   83% 6 1 0   100% 0 0   83%
src/backend/InvenTree/generic/events.py   100% 2 0 0   100% 0 0   100%
src/backend/InvenTree/generic/states/__init__.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/generic/states/api.py   83% 89 15 0   54% 26 6   77%
src/backend/InvenTree/generic/states/custom.py   75% 12 3 0   100% 0 0   75%
src/backend/InvenTree/generic/states/fields.py   76% 148 35 0   54% 48 8   71%
src/backend/InvenTree/generic/states/serializers.py   100% 16 0 0   100% 0 0   100%
src/backend/InvenTree/generic/states/states.py   59% 197 81 0   37% 60 16   54%
src/backend/InvenTree/generic/states/tags.py   50% 14 7 0   0% 2 0   44%
src/backend/InvenTree/generic/states/transition.py   44% 32 18 0   8% 12 1   34%
src/backend/InvenTree/generic/states/validators.py   92% 12 1 0   50% 4 2   81%
src/backend/InvenTree/generic/templatetags/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/generic/templatetags/generic.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/importer/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/importer/admin.py   56% 36 16 0   0% 8 0   45%
src/backend/InvenTree/importer/api.py   84% 107 17 0   31% 16 3   77%
src/backend/InvenTree/importer/apps.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0001_initial.py   100% 11 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0002_dataimportsession_field_overrides.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0003_dataimportsession_field_filters.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0004_alter_dataimportsession_model_type.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0005_dataimportsession_update_records.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0006_dataimportcolumnmap_lookup_field.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/0007_dataimportsession_completed_row_count_history_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/importer/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/importer/mixins.py   35% 40 26 0   8% 24 2   25%
src/backend/InvenTree/importer/models.py   22% 452 351 0   0% 178 0   16%
src/backend/InvenTree/importer/operations.py   22% 45 35 0   0% 16 0   16%
src/backend/InvenTree/importer/registry.py   89% 35 4 0   70% 10 3   84%
src/backend/InvenTree/importer/serializers.py   68% 93 30 0   25% 28 7   58%
src/backend/InvenTree/importer/status_codes.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/importer/tasks.py   30% 27 19 0   0% 4 0   26%
src/backend/InvenTree/importer/validators.py   43% 30 17 0   14% 14 2   34%
src/backend/InvenTree/machine/__init__.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/machine/admin.py   76% 17 4 0   0% 2 0   68%
src/backend/InvenTree/machine/api.py   84% 87 14 0   38% 8 1   80%
src/backend/InvenTree/machine/apps.py   90% 21 2 0   75% 4 1   88%
src/backend/InvenTree/machine/machine_type.py   37% 163 102 0   2% 44 1   30%
src/backend/InvenTree/machine/machine_types/__init__.py   100% 2 0 0   100% 0 0   100%
src/backend/InvenTree/machine/machine_types/label_printer.py   70% 73 22 0   0% 4 0   66%
src/backend/InvenTree/machine/migrations/0001_initial.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/machine/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/machine/models.py   66% 95 32 0   21% 24 3   57%
src/backend/InvenTree/machine/registry.py   60% 286 115 0   39% 98 12   54%
src/backend/InvenTree/machine/serializers.py   93% 100 7 0   38% 8 3   89%
src/backend/InvenTree/machine/tasks.py   67% 15 5 0   0% 4 0   53%
src/backend/InvenTree/manage.py   0% 15 15 0   0% 2 0   0%
src/backend/InvenTree/order/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/order/admin.py   100% 78 0 0   100% 0 0   100%
src/backend/InvenTree/order/api.py   78% 870 191 0   25% 112 6   72%
src/backend/InvenTree/order/apps.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/order/events.py   100% 26 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0001_initial.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0002_auto_20190604_2224.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0003_auto_20190604_2226.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0004_purchaseorder_status.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0005_purchaseorderlineitem_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0006_auto_20190605_2056.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0007_auto_20190605_2138.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0008_auto_20190605_2140.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0009_auto_20190606_2133.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0010_purchaseorderlineitem_notes.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0011_auto_20190615_1928.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0012_auto_20190617_1943.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0013_auto_20191118_2323.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0014_auto_20191118_2328.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0015_auto_20200201_2346.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0016_purchaseorderattachment.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0017_auto_20200331_1000.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0018_auto_20200406_0151.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0019_purchaseorder_supplier_reference.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0021_auto_20200420_1010.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0022_salesorderlineitem_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0023_auto_20200420_2309.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0024_salesorderallocation.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0025_auto_20200422_0222.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0026_auto_20200422_0224.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0027_auto_20200422_0236.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0028_auto_20200423_0956.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0029_auto_20200423_1042.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0030_auto_20200426_0551.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0031_auto_20200426_0612.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0032_auto_20200427_0044.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0033_auto_20200512_1033.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0034_auto_20200512_1054.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0035_auto_20200513_0016.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0036_auto_20200831_0912.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0037_auto_20201110_0911.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0038_auto_20201112_1737.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0039_auto_20201112_2203.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0040_salesorder_target_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0041_auto_20210114_1728.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0042_auto_20210310_1619.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0043_auto_20210330_0013.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0044_auto_20210404_2016.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0045_auto_20210504_1946.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0046_purchaseorderlineitem_destination.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0047_auto_20210701_0509.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0048_auto_20210702_2321.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0049_alter_purchaseorderlineitem_unique_together.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0050_alter_purchaseorderlineitem_destination.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0051_auto_20211014_0623.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0052_auto_20211014_0631.py   31% 32 22 0   17% 12 2   27%
src/backend/InvenTree/order/migrations/0053_auto_20211128_0151.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0053_salesordershipment.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0054_auto_20211201_2139.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0054_salesorderallocation_shipment.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0055_auto_20211025_0645.py   38% 34 21 0   17% 12 2   33%
src/backend/InvenTree/order/migrations/0056_alter_salesorderallocation_shipment.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0057_salesorderlineitem_shipped.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0058_auto_20211126_1210.py   60% 15 6 0   25% 4 1   53%
src/backend/InvenTree/order/migrations/0059_salesordershipment_tracking_number.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0060_auto_20211129_1339.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0061_merge_0054_auto_20211201_2139_0060_auto_20211129_1339.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0062_auto_20220228_0321.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0063_alter_purchaseorderlineitem_unique_together.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0064_purchaseorderextraline_salesorderextraline.py   50% 42 21 0   10% 10 1   42%
src/backend/InvenTree/order/migrations/0065_alter_purchaseorderlineitem_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0066_alter_purchaseorder_supplier.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0067_auto_20220516_1120.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0068_alter_salesorderallocation_unique_together.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0069_auto_20220524_0508.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0070_auto_20220620_0728.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0071_auto_20220628_0133.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0072_alter_salesorder_reference.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0073_alter_purchaseorder_reference.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0074_auto_20220709_0108.py   78% 46 10 0   38% 8 3   72%
src/backend/InvenTree/order/migrations/0075_auto_20221110_0108.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0076_auto_20221111_0153.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0077_auto_20230129_0154.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0078_auto_20230304_0721.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0079_auto_20230304_0904.py   36% 72 46 0   19% 32 6   31%
src/backend/InvenTree/order/migrations/0080_auto_20230317_0816.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0081_auto_20230314_0725.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0082_auto_20230314_1259.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0083_returnorderextraline.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0084_auto_20230321_1111.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0085_auto_20230322_1056.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0086_auto_20230323_1108.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0087_alter_salesorder_status.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0088_auto_20230403_1402.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0089_auto_20230404_0030.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0090_auto_20230412_1752.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0091_auto_20230419_0037.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0092_auto_20230419_0250.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0093_auto_20230426_0248.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0094_auto_20230514_2331.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0095_salesordershipment_delivery_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0096_alter_returnorderlineitem_outcome.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0097_auto_20230529_0107.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0098_auto_20231024_1844.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0099_alter_salesorder_status.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0100_remove_returnorderattachment_order_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0101_purchaseorder_status_custom_key_and_more.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0102_purchaseorder_destination_and_more.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0103_alter_salesorderallocation_shipment.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0104_alter_returnorderlineitem_quantity.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0105_auto_20241128_0431.py   50% 24 12 0   33% 6 2   47%
src/backend/InvenTree/order/migrations/0106_purchaseorder_start_date_returnorder_start_date_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0107_auto_20250221_1241.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0108_alter_purchaseorder_link_and_more_squashed_0109_alter_purchaseorderextraline_link_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0109_salesorder_issue_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0110_salesordershipment_barcode_data_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0111_purchaseorderlineitem_build_order.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0112_alter_salesorderlineitem_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0113_salesordershipment_shipment_address.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0114_purchaseorderextraline_project_code_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0115_purchaseorder_updated_at_returnorder_updated_at_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0116_purchaseorderextraline_line_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0117_purchaseorderextraline_line_int_and_more.py   56% 16 7 0   67% 6 2   59%
src/backend/InvenTree/order/migrations/0118_transferorder.py   100% 15 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0119_transferorderlineitem_line_int.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/0120_purchaseorder_tags_returnorder_tags_salesorder_tags_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/order/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/order/models.py   45% 1381 754 0   4% 398 15   36%
src/backend/InvenTree/order/serializers.py   61% 880 341 0   8% 160 12   53%
src/backend/InvenTree/order/status_codes.py   100% 52 0 0   100% 0 0   100%
src/backend/InvenTree/order/tasks.py   31% 123 85 0   0% 34 0   24%
src/backend/InvenTree/order/validators.py   72% 36 10 0   100% 0 0   72%
src/backend/InvenTree/part/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/part/admin.py   100% 45 0 0   100% 0 0   100%
src/backend/InvenTree/part/api.py   76% 596 143 0   26% 84 6   70%
src/backend/InvenTree/part/apps.py   66% 41 14 0   50% 14 5   62%
src/backend/InvenTree/part/events.py   0% 2 2 0   100% 0 0   0%
src/backend/InvenTree/part/filters.py   91% 76 7 0   50% 10 3   86%
src/backend/InvenTree/part/helpers.py   82% 34 6 0   83% 6 1   82%
src/backend/InvenTree/part/migrations/0001_initial.py   92% 13 1 0   100% 0 0   92%
src/backend/InvenTree/part/migrations/0002_auto_20190520_2204.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0003_auto_20190525_2226.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0004_auto_20190525_2356.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0005_auto_20190526_1119.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0006_auto_20190526_1215.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0007_auto_20190602_1944.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0008_auto_20190618_0042.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0009_part_virtual.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0010_auto_20190620_2135.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0011_part_revision.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0012_auto_20190627_2144.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0013_auto_20190628_0951.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0014_partparameter.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0015_auto_20190820_0251.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0016_auto_20190820_0257.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0017_bomitem_checksum.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0018_auto_20190907_0941.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0019_auto_20190908_0404.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0020_auto_20190908_0404.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0021_auto_20190908_0916.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0022_auto_20190908_0918.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0023_auto_20190913_1401.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0024_auto_20191118_2139.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0025_auto_20191118_2316.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0026_auto_20200131_1022.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0027_auto_20200202_1024.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0028_auto_20200203_1007.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0029_auto_20200223_0901.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0030_auto_20200318_1027.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0031_auto_20200318_1044.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0032_auto_20200322_0453.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0033_auto_20200404_0445.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0034_auto_20200404_1238.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0035_auto_20200406_0045.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0036_partattachment_user.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0037_partattachment_upload_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0038_auto_20200513_0016.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0039_auto_20200515_1127.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0040_parttesttemplate.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0041_auto_20200517_0348.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0042_auto_20200518_0900.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0043_auto_20200527_0005.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0044_auto_20200605_0931.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0045_auto_20200605_0932.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0046_auto_20200804_0107.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0047_auto_20200808_0715.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0048_auto_20200902_1404.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0049_partsellpricebreak.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0050_auto_20200917_2315.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0051_bomitem_optional.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0052_partrelated.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0053_partcategoryparametertemplate.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0054_auto_20201109_1246.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0055_auto_20201110_1001.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0056_auto_20201110_1125.py   37% 65 41 0   15% 20 3   32%
src/backend/InvenTree/part/migrations/0057_remove_partsellpricebreak_currency.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0058_remove_partsellpricebreak_cost.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0059_auto_20201112_1112.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0060_merge_20201112_1722.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0061_auto_20210103_2313.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0061_auto_20210104_2331.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0062_merge_20210105_0056.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0063_bomitem_inherited.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0064_auto_20210404_2016.py   100% 12 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0065_auto_20210505_2144.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0066_bomitem_allow_variants.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0067_partinternalpricebreak.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0068_part_unique_part.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0069_auto_20210701_0509.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0070_alter_part_variant_of.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0071_alter_partparametertemplate_name.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0072_bomitemsubstitute.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0073_auto_20211013_1048.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0074_partcategorystar.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0075_auto_20211128_0151.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0076_auto_20220516_0819.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0077_alter_bomitem_unique_together.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0078_auto_20220606_0024.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0079_alter_part_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0080_alter_part_image.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0081_alter_partcategory_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0082_partcategory_pathstring.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0083_auto_20220731_2357.py   47% 19 10 0   17% 6 1   40%
src/backend/InvenTree/part/migrations/0084_partcategory_icon.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0085_partparametertemplate_description.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0086_auto_20220912_0007.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0087_bomitem_consumable.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0088_alter_partparametertemplate_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0089_auto_20221112_0128.py   100% 10 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0090_auto_20221115_0816.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0091_partstocktake.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0092_part_last_stocktake.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0093_auto_20230115_1404.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0094_alter_part_units.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0095_alter_part_responsible.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0096_auto_20230211_0029.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0097_partstocktakereport.py   88% 8 1 0   100% 0 0   88%
src/backend/InvenTree/part/migrations/0098_auto_20230214_1115.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0099_alter_bomitem_inherited.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0100_alter_bomitem_reference.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0101_bomitem_validated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0102_auto_20230314_0112.py   30% 46 32 0   8% 12 1   26%
src/backend/InvenTree/part/migrations/0103_auto_20230317_0816.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0104_alter_part_description.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0105_alter_part_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0106_part_tags.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0107_alter_part_tags.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0108_auto_20230516_1334.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0109_auto_20230517_1048.py   23% 81 62 0   12% 26 3   21%
src/backend/InvenTree/part/migrations/0110_alter_part_units.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0111_auto_20230521_1350.py   25% 55 41 0   6% 18 1   21%
src/backend/InvenTree/part/migrations/0112_auto_20230525_1606.py   78% 32 7 0   100% 0 0   78%
src/backend/InvenTree/part/migrations/0113_auto_20230531_1205.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0114_alter_part_minimum_stock.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0115_part_responsible_owner.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0116_auto_20231023_0332.py   42% 33 19 0   20% 10 2   37%
src/backend/InvenTree/part/migrations/0117_remove_part_responsible.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0118_auto_20231024_1844.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0119_auto_20231120_0457.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0120_parttesttemplate_key.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0121_auto_20240207_0344.py   75% 12 3 0   50% 4 2   69%
src/backend/InvenTree/part/migrations/0122_parttesttemplate_enabled.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0123_parttesttemplate_choices.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0124_delete_partattachment.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0125_part_locked.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0126_part_revision_of.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0127_remove_partcategory_icon_partcategory__icon.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0128_part_testable.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0129_auto_20240815_0214.py   80% 10 2 0   50% 2 1   75%
src/backend/InvenTree/part/migrations/0130_alter_parttesttemplate_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0131_partrelated_note.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0132_partparametertemplate_selectionlist.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0133_alter_partcategory__icon.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0134_auto_20250221_1309.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0135_alter_part_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0136_partparameter_note_partparameter_updated_and_more.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0137_bomitem_attrition_bomitem_rounding_multiple_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0138_auto_20250718_2342.py   27% 41 30 0   10% 10 1   24%
src/backend/InvenTree/part/migrations/0139_remove_bomitem_overage.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0140_part_bom_validated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0141_auto_20250722_0303.py   50% 28 14 0   19% 16 3   39%
src/backend/InvenTree/part/migrations/0142_remove_part_last_stocktake_remove_partstocktake_note_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0143_alter_part_image.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0144_auto_20251203_1045.py   58% 31 13 0   25% 8 2   51%
src/backend/InvenTree/part/migrations/0145_auto_20251203_1238.py   44% 27 15 0   25% 8 2   40%
src/backend/InvenTree/part/migrations/0146_auto_20251203_1241.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0147_remove_part_default_supplier.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/0148_auto_20260427_2233.py   64% 14 5 0   25% 4 1   56%
src/backend/InvenTree/part/migrations/0149_bomitem_raw_amount.py   64% 28 10 0   38% 8 3   58%
src/backend/InvenTree/part/migrations/0150_part_maximum_stock.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/part/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/part/models.py   39% 1690 1030 0   11% 702 56   31%
src/backend/InvenTree/part/serializers.py   85% 514 76 0   32% 72 15   79%
src/backend/InvenTree/part/settings.py   100% 15 0 0   100% 0 0   100%
src/backend/InvenTree/part/stocktake.py   17% 113 94 0   2% 42 1   13%
src/backend/InvenTree/part/tasks.py   23% 202 155 0   1% 70 1   18%
src/backend/InvenTree/plugin/__init__.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/admin.py   68% 37 12 0   0% 6 0   58%
src/backend/InvenTree/plugin/api.py   91% 223 19 0   56% 48 15   85%
src/backend/InvenTree/plugin/apps.py   90% 21 2 0   67% 6 2   85%
src/backend/InvenTree/plugin/base/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/action/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/action/api.py   81% 32 6 0   50% 6 1   76%
src/backend/InvenTree/plugin/base/action/mixins.py   58% 19 8 0   0% 2 0   52%
src/backend/InvenTree/plugin/base/barcodes/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/barcodes/api.py   43% 388 222 0   15% 144 15   35%
src/backend/InvenTree/plugin/base/barcodes/helper.py   77% 31 7 0   100% 4 0   80%
src/backend/InvenTree/plugin/base/barcodes/mixins.py   32% 233 158 0   0% 86 0   24%
src/backend/InvenTree/plugin/base/barcodes/serializers.py   87% 75 10 0   43% 14 4   80%
src/backend/InvenTree/plugin/base/event/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/event/events.py   61% 84 33 0   44% 32 4   56%
src/backend/InvenTree/plugin/base/event/mixins.py   67% 12 4 0   100% 0 0   67%
src/backend/InvenTree/plugin/base/icons/mixins.py   71% 17 5 0   100% 0 0   71%
src/backend/InvenTree/plugin/base/integration/APICallMixin.py   76% 66 16 0   43% 28 10   66%
src/backend/InvenTree/plugin/base/integration/AppMixin.py   33% 90 60 0   6% 34 2   26%
src/backend/InvenTree/plugin/base/integration/CurrencyExchangeMixin.py   90% 10 1 0   100% 0 0   90%
src/backend/InvenTree/plugin/base/integration/DataExport.py   51% 43 21 0   0% 4 0   47%
src/backend/InvenTree/plugin/base/integration/MachineMixin.py   86% 14 2 0   100% 0 0   86%
src/backend/InvenTree/plugin/base/integration/NavigationMixin.py   53% 32 15 0   0% 8 0   42%
src/backend/InvenTree/plugin/base/integration/NotificationMixin.py   89% 19 2 0   50% 2 1   86%
src/backend/InvenTree/plugin/base/integration/ReportMixin.py   80% 10 2 0   100% 0 0   80%
src/backend/InvenTree/plugin/base/integration/ScheduleMixin.py   31% 105 72 0   10% 40 4   26%
src/backend/InvenTree/plugin/base/integration/SettingsMixin.py   55% 80 36 0   31% 16 1   51%
src/backend/InvenTree/plugin/base/integration/TransitionMixin.py   39% 28 17 0   0% 6 0   32%
src/backend/InvenTree/plugin/base/integration/UrlsMixin.py   59% 37 15 0   12% 8 1   51%
src/backend/InvenTree/plugin/base/integration/ValidationMixin.py   62% 37 14 0   100% 0 0   62%
src/backend/InvenTree/plugin/base/integration/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/label/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/label/label.py   32% 25 17 0   0% 6 0   26%
src/backend/InvenTree/plugin/base/label/mixins.py   42% 74 43 0   10% 10 1   38%
src/backend/InvenTree/plugin/base/locate/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/locate/api.py   48% 50 26 0   38% 8 1   47%
src/backend/InvenTree/plugin/base/locate/mixins.py   48% 21 11 0   0% 2 0   43%
src/backend/InvenTree/plugin/base/mail/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/mail/mail.py   0% 37 37 0   0% 16 0   0%
src/backend/InvenTree/plugin/base/mail/mixins.py   69% 13 4 0   100% 0 0   69%
src/backend/InvenTree/plugin/base/supplier/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/supplier/api.py   54% 101 46 0   21% 28 4   47%
src/backend/InvenTree/plugin/base/supplier/helpers.py   76% 29 7 0   0% 4 0   67%
src/backend/InvenTree/plugin/base/supplier/mixins.py   42% 69 40 0   0% 14 0   35%
src/backend/InvenTree/plugin/base/supplier/serializers.py   94% 49 3 0   100% 0 0   94%
src/backend/InvenTree/plugin/base/ui/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/base/ui/api.py   50% 36 18 0   8% 12 1   40%
src/backend/InvenTree/plugin/base/ui/mixins.py   60% 35 14 0   0% 2 0   57%
src/backend/InvenTree/plugin/base/ui/serializers.py   100% 14 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/broken/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/broken/bad_actor.py   0% 10 10 0   100% 0 0   0%
src/backend/InvenTree/plugin/broken/broken_file.py   0% 3 3 0   100% 0 0   0%
src/backend/InvenTree/plugin/broken/broken_sample.py   0% 8 8 0   100% 0 0   0%
src/backend/InvenTree/plugin/builtin/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/barcodes/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/barcodes/inventree_barcode.py   62% 65 25 0   40% 20 6   56%
src/backend/InvenTree/plugin/builtin/events/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/events/auto_create_builds.py   44% 41 23 0   0% 8 0   37%
src/backend/InvenTree/plugin/builtin/events/auto_issue_orders.py   38% 53 33 0   0% 14 0   30%
src/backend/InvenTree/plugin/builtin/exporter/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/exporter/bom_exporter.py   24% 144 109 0   0% 62 0   17%
src/backend/InvenTree/plugin/builtin/exporter/inventree_exporter.py   92% 12 1 0   100% 0 0   92%
src/backend/InvenTree/plugin/builtin/exporter/parameter_exporter.py   44% 41 23 0   0% 8 0   37%
src/backend/InvenTree/plugin/builtin/exporter/stocktake_exporter.py   37% 71 45 0   0% 22 0   28%
src/backend/InvenTree/plugin/builtin/integration/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/integration/core_notifications.py   81% 70 13 0   45% 20 5   73%
src/backend/InvenTree/plugin/builtin/integration/currency_exchange.py   91% 23 2 0   50% 2 1   88%
src/backend/InvenTree/plugin/builtin/integration/machine_types.py   100% 16 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/integration/part_notifications.py   71% 24 7 0   0% 2 0   65%
src/backend/InvenTree/plugin/builtin/labels/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/labels/inventree_label.py   48% 42 22 0   0% 8 0   40%
src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py   34% 80 53 0   0% 28 0   25%
src/backend/InvenTree/plugin/builtin/labels/label_sheet.py   31% 108 75 0   0% 24 0   25%
src/backend/InvenTree/plugin/builtin/suppliers/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/builtin/suppliers/digikey.py   93% 14 1 0   100% 0 0   93%
src/backend/InvenTree/plugin/builtin/suppliers/lcsc.py   64% 25 9 0   0% 6 0   52%
src/backend/InvenTree/plugin/builtin/suppliers/mouser.py   76% 17 4 0   0% 2 0   68%
src/backend/InvenTree/plugin/builtin/suppliers/tme.py   49% 35 18 0   0% 18 0   32%
src/backend/InvenTree/plugin/events.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/helpers.py   58% 127 53 0   42% 36 5   55%
src/backend/InvenTree/plugin/installer.py   22% 216 168 0   7% 88 6   18%
src/backend/InvenTree/plugin/machine/__init__.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/machine/machine_types.py   0% 1 1 0   100% 0 0   0%
src/backend/InvenTree/plugin/migrations/0001_initial.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0002_alter_pluginconfig_options.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0003_pluginsetting.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0004_alter_pluginsetting_key.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0005_notificationusersetting.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0006_pluginconfig_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0007_auto_20230805_1748.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0008_pluginconfig_package_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0009_alter_pluginconfig_key.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0010_pluginusersetting.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/0011_delete_notificationusersetting.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/mixins/__init__.py   100% 24 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/mock/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/mock/simple.py   0% 4 4 0   100% 0 0   0%
src/backend/InvenTree/plugin/models.py   80% 192 39 0   51% 68 21   72%
src/backend/InvenTree/plugin/plugin.py   76% 366 88 0   49% 68 15   72%
src/backend/InvenTree/plugin/registry.py   66% 522 177 0   54% 186 38   63%
src/backend/InvenTree/plugin/samples/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/event/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/event/event_sample.py   0% 15 15 0   0% 2 0   0%
src/backend/InvenTree/plugin/samples/event/filtered_event_sample.py   0% 17 17 0   0% 2 0   0%
src/backend/InvenTree/plugin/samples/icons/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/icons/icon_sample.py   0% 11 11 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/integration/another_sample.py   0% 6 6 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/api_caller.py   0% 10 10 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/label_sample.py   0% 21 21 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/report_plugin_sample.py   0% 16 16 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/sample.py   0% 26 26 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/sample_currency_exchange.py   0% 15 15 0   0% 2 0   0%
src/backend/InvenTree/plugin/samples/integration/scheduled_task.py   0% 17 17 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/simpleactionplugin.py   0% 12 12 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/integration/transition.py   0% 38 38 0   0% 10 0   0%
src/backend/InvenTree/plugin/samples/integration/user_interface_sample.py   0% 55 55 0   0% 16 0   0%
src/backend/InvenTree/plugin/samples/integration/validation_sample.py   0% 73 73 0   0% 42 0   0%
src/backend/InvenTree/plugin/samples/integration/version.py   0% 7 7 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/locate/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/locate/locate_sample.py   0% 27 27 0   100% 0 0   0%
src/backend/InvenTree/plugin/samples/machines/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/machines/sample_printer.py   0% 33 33 0   0% 2 0   0%
src/backend/InvenTree/plugin/samples/mail/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/mail/mail_sample.py   0% 21 21 0   0% 4 0   0%
src/backend/InvenTree/plugin/samples/supplier/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/samples/supplier/supplier_sample.py   0% 58 58 0   0% 18 0   0%
src/backend/InvenTree/plugin/serializers.py   94% 127 7 0   75% 12 3   93%
src/backend/InvenTree/plugin/staticfiles.py   19% 62 50 0   3% 30 1   14%
src/backend/InvenTree/plugin/template.py   91% 11 1 0   75% 4 1   87%
src/backend/InvenTree/plugin/templatetags/plugin_extras.py   64% 25 9 0   100% 0 0   64%
src/backend/InvenTree/plugin/testing/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/plugin/testing/label_machines.py   0% 44 44 0   0% 2 0   0%
src/backend/InvenTree/plugin/urls.py   33% 27 18 0   0% 10 0   24%
src/backend/InvenTree/plugins/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/report/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/report/admin.py   83% 18 3 0   0% 2 0   75%
src/backend/InvenTree/report/api.py   67% 172 56 0   39% 38 5   62%
src/backend/InvenTree/report/apps.py   70% 93 28 0   65% 26 5   69%
src/backend/InvenTree/report/fetcher.py   26% 31 23 0   0% 8 0   21%
src/backend/InvenTree/report/helpers.py   68% 40 13 0   62% 8 1   67%
src/backend/InvenTree/report/migrations/0001_initial.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0002_delete_reporttemplate.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0003_testreport_enabled.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0004_auto_20200823_1104.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0005_auto_20210119_0815.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0006_reportsnippet.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0007_auto_20210204_1617.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0008_auto_20210204_2100.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0009_testreport_revision.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0010_auto_20210205_1201.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0011_auto_20210212_2024.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0012_buildreport.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0013_testreport_include_installed.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0014_purchaseorderreport_salesorderreport.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0015_auto_20210403_1837.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0016_auto_20210513_1303.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0017_auto_20230317_0816.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0018_returnorderreport.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0019_returnorderreport_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0020_stocklocationreport.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0021_auto_20231009_0144.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0022_reporttemplate.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0023_auto_20240421_0455.py   41% 39 23 0   25% 16 2   36%
src/backend/InvenTree/report/migrations/0024_delete_billofmaterialsreport_delete_buildreport_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0025_labeltemplate.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0026_auto_20240422_1301.py   49% 61 31 0   15% 20 1   41%
src/backend/InvenTree/report/migrations/0027_alter_labeltemplate_model_type_and_more.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0028_labeltemplate_attach_to_model_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0029_remove_reportoutput_template_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0030_alter_labeltemplate_model_type_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0031_reporttemplate_merge.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/0032_labeltemplate_updated_labeltemplate_updated_by_and_more.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/report/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/report/mixins.py   90% 10 1 0   100% 0 0   90%
src/backend/InvenTree/report/models.py   41% 347 205 0   8% 62 3   36%
src/backend/InvenTree/report/serializers.py   94% 65 4 0   38% 8 3   88%
src/backend/InvenTree/report/tasks.py   18% 56 46 0   0% 10 0   15%
src/backend/InvenTree/report/templatetags/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/report/templatetags/barcode.py   24% 78 59 0   0% 14 0   21%
src/backend/InvenTree/report/templatetags/report.py   24% 562 426 0   0% 192 0   18%
src/backend/InvenTree/report/validators.py   89% 9 1 0   50% 2 1   82%
src/backend/InvenTree/stock/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/stock/admin.py   87% 38 5 0   100% 0 0   87%
src/backend/InvenTree/stock/api.py   68% 624 201 0   16% 114 4   60%
src/backend/InvenTree/stock/apps.py   100% 3 0 0   100% 0 0   100%
src/backend/InvenTree/stock/events.py   100% 11 0 0   100% 0 0   100%
src/backend/InvenTree/stock/filters.py   92% 12 1 0   50% 2 1   86%
src/backend/InvenTree/stock/generators.py   36% 50 32 0   12% 16 2   30%
src/backend/InvenTree/stock/migrations/0001_initial.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0002_auto_20190525_2226.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0003_auto_20190525_2303.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0004_auto_20190525_2356.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0005_auto_20190602_1944.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0006_stockitem_purchase_order.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0007_auto_20190618_0042.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0008_stockitemtracking_url.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0009_auto_20190715_2351.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0010_stockitem_build.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0011_auto_20190908_0404.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0012_auto_20190908_0405.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0013_auto_20190908_0916.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0014_auto_20190908_0918.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0015_auto_20190913_1407.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0016_auto_20191118_2146.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0017_auto_20191118_2311.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0018_auto_20200202_0103.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0019_auto_20200202_1024.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0020_auto_20200206_1213.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0021_auto_20200215_2232.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0022_auto_20200217_1109.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0023_auto_20200318_1027.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0024_auto_20200405_2239.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0025_auto_20200405_2243.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0026_stockitem_uid.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0027_stockitem_sales_order.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0028_auto_20200421_0724.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0029_auto_20200421_2359.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0030_auto_20200422_0015.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0031_auto_20200422_0209.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0032_stockitem_build_order.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0033_auto_20200426_0539.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0034_auto_20200426_0602.py   100% 8 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0035_auto_20200502_2308.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0036_stockitemattachment.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0037_stockitemattachment_user.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0038_stockitemattachment_upload_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0039_auto_20200513_0016.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0040_stockitemtestresult.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0041_stockitemtestresult_notes.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0042_auto_20200523_0121.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0043_auto_20200525_0420.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0044_auto_20200528_1036.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0045_stockitem_customer.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0046_auto_20200605_0931.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0047_auto_20200605_0932.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0048_auto_20200807_2344.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0049_auto_20200820_0454.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0050_auto_20200821_1403.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0051_auto_20200928_0928.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0052_stockitem_is_building.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0053_auto_20201110_0513.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0054_remove_stockitem_build_order.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0055_auto_20201117_1453.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0056_stockitem_expiry_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0057_stock_location_item_owner.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0058_stockitem_packaging.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0059_auto_20210404_2016.py   100% 11 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0060_auto_20210511_1713.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0061_auto_20210511_0911.py   13% 115 100 0   5% 66 3   10%
src/backend/InvenTree/stock/migrations/0062_auto_20210511_2151.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0063_auto_20210511_2343.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0064_auto_20210621_1724.py   50% 28 14 0   25% 12 3   42%
src/backend/InvenTree/stock/migrations/0065_auto_20210701_0509.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0066_stockitem_scheduled_for_deletion.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0067_alter_stockitem_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0068_stockitem_serial_int.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0069_auto_20211109_2347.py   38% 21 13 0   12% 8 1   31%
src/backend/InvenTree/stock/migrations/0070_auto_20211128_0151.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0071_auto_20211205_1733.py   71% 17 5 0   25% 4 1   62%
src/backend/InvenTree/stock/migrations/0072_remove_stockitem_scheduled_for_deletion.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0073_alter_stockitem_belongs_to.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0074_alter_stockitem_batch.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0075_auto_20220515_1440.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0076_alter_stockitem_status.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0077_alter_stockitem_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0078_alter_stockitem_supplier_part.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0079_alter_stocklocation_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0080_stocklocation_pathstring.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0081_auto_20220801_0044.py   47% 19 10 0   17% 6 1   40%
src/backend/InvenTree/stock/migrations/0082_alter_stockitem_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0083_stocklocation_icon.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0084_auto_20220903_0154.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0085_auto_20220903_0225.py   50% 20 10 0   25% 8 2   43%
src/backend/InvenTree/stock/migrations/0086_remove_stockitem_uid.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0087_auto_20220912_2341.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0088_remove_stockitem_infinite.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0089_alter_stockitem_purchase_price.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0090_stocklocation_structural.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0091_alter_stockitem_delete_on_deplete.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0092_alter_stockitem_updated.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0093_auto_20230217_2140.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0094_auto_20230220_0025.py   60% 25 10 0   20% 10 2   49%
src/backend/InvenTree/stock/migrations/0095_stocklocation_external.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0096_auto_20230330_1121.py   55% 22 10 0   25% 8 2   47%
src/backend/InvenTree/stock/migrations/0097_alter_stockitem_notes.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0098_auto_20230427_2033.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0099_alter_stockitem_status.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0100_auto_20230515_0004.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0100_stockitem_consumed_by.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0101_stockitemtestresult_metadata.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0102_alter_stockitem_status.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0103_stock_location_types.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0104_alter_stockitem_purchase_price_currency.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0105_stockitemtestresult_template.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0106_auto_20240207_0353.py   30% 57 40 0   6% 18 1   24%
src/backend/InvenTree/stock/migrations/0107_remove_stockitemtestresult_test_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0108_auto_20240219_0252.py   30% 40 28 0   7% 14 1   24%
src/backend/InvenTree/stock/migrations/0109_add_additional_test_fields.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0110_alter_stockitemtestresult_finished_datetime_and_more.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0111_delete_stockitemattachment.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0112_alter_stocklocation_custom_icon_and_more.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0113_stockitem_status_custom_key_and_more.py   100% 9 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0114_alter_stocklocation_custom_icon.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0115_auto_20250221_1323.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0116_alter_stockitem_link.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0117_stockitemtracking_part_alter_stockitemtracking_item.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0118_auto_20260205_1218.py   35% 34 22 0   19% 16 3   30%
src/backend/InvenTree/stock/migrations/0119_alter_stockitemtestresult_date.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0120_stockitem_creation_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0121_auto_20260526_0849.py   40% 40 24 0   14% 14 2   33%
src/backend/InvenTree/stock/migrations/0122_alter_stockitem_creation_date.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/0123_remove_stockitem_review_needed.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/stock/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/stock/models.py   26% 1235 912 0   1% 494 4   19%
src/backend/InvenTree/stock/serializers.py   54% 598 275 0   9% 140 10   45%
src/backend/InvenTree/stock/status_codes.py   100% 42 0 0   100% 0 0   100%
src/backend/InvenTree/stock/tasks.py   27% 49 36 0   0% 8 0   23%
src/backend/InvenTree/users/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/users/admin.py   72% 64 18 0   0% 6 0   66%
src/backend/InvenTree/users/api.py   91% 205 19 0   59% 32 7   86%
src/backend/InvenTree/users/apps.py   68% 34 11 0   60% 10 4   66%
src/backend/InvenTree/users/authentication.py   53% 19 9 0   0% 6 0   40%
src/backend/InvenTree/users/migrations/0001_initial.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0002_auto_20201004_0158.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0003_auto_20201005_2227.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0004_auto_20210113_1909.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0005_owner_model.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0006_alter_ruleset_name.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0007_alter_ruleset_name.py   100% 5 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0008_apitoken.py   100% 7 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0009_auto_20231020_2356.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0010_alter_apitoken_key.py   100% 6 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0011_auto_20240523_1640.py   89% 18 2 0   50% 2 1   85%
src/backend/InvenTree/users/migrations/0012_alter_ruleset_can_view.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/0013_migrate_mfa_20240408_1659.py   67% 21 7 0   25% 4 1   60%
src/backend/InvenTree/users/migrations/0014_userprofile.py   91% 11 1 0   50% 2 1   85%
src/backend/InvenTree/users/migrations/0015_alter_userprofile_type.py   100% 4 0 0   100% 0 0   100%
src/backend/InvenTree/users/migrations/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/users/models.py   76% 254 62 0   34% 62 15   67%
src/backend/InvenTree/users/oauth2_scopes.py   100% 11 0 0   100% 2 0   100%
src/backend/InvenTree/users/permissions.py   36% 73 47 0   14% 42 6   28%
src/backend/InvenTree/users/ruleset.py   92% 26 2 0   50% 2 1   89%
src/backend/InvenTree/users/serializers.py   94% 174 11 0   66% 32 9   89%
src/backend/InvenTree/users/tasks.py   54% 94 43 0   48% 52 11   52%
src/backend/InvenTree/web/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/web/templatetags/__init__.py   100% 0 0 0   100% 0 0   100%
src/backend/InvenTree/web/templatetags/spa_helper.py   39% 36 22 0   0% 6 0   33%
src/backend/InvenTree/web/urls.py   100% 8 0 0   100% 0 0   100%
Total   59% 37680 15387 0   23% 9692 1104   52%

No items found using the specified filter.