diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml
index b1067c4bbd..0aabd064bc 100644
--- a/.github/workflows/qc_checks.yaml
+++ b/.github/workflows/qc_checks.yaml
@@ -196,6 +196,7 @@ jobs:
name: Postgres
needs: ['javascript', 'html']
runs-on: ubuntu-latest
+ if: github.event_name == 'push'
env:
INVENTREE_DB_ENGINE: django.db.backends.postgresql
@@ -253,6 +254,8 @@ jobs:
name: MySql
needs: ['javascript', 'html']
runs-on: ubuntu-latest
+ if: github.event_name == 'push'
+
env:
# Database backend configuration
INVENTREE_DB_ENGINE: django.db.backends.mysql
diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py
index 86f41816b2..e391a00bd1 100644
--- a/InvenTree/InvenTree/api_version.py
+++ b/InvenTree/InvenTree/api_version.py
@@ -4,11 +4,15 @@ InvenTree API version information
# InvenTree API version
-INVENTREE_API_VERSION = 46
+INVENTREE_API_VERSION = 47
"""
Increment this API version number whenever there is a significant change to the API that any clients need to know about
+v47 -> 2022-05-10 : https://github.com/inventree/InvenTree/pull/2964
+ - Fixes barcode API error response when scanning a StockItem which does not exist
+ - Fixes barcode API error response when scanning a StockLocation which does not exist
+
v46 -> 2022-05-09
- Fixes read permissions on settings API
- Allows non-staff users to read global settings via the API
diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py
index 7787bbfb0c..3531cc11d7 100644
--- a/InvenTree/InvenTree/apps.py
+++ b/InvenTree/InvenTree/apps.py
@@ -190,8 +190,11 @@ class InvenTreeConfig(AppConfig):
user = get_user_model()
try:
with transaction.atomic():
- new_user = user.objects.create_superuser(add_user, add_email, add_password)
- logger.info(f'User {str(new_user)} was created!')
+ if user.objects.filter(username=add_user).exists():
+ logger.info(f"User {add_user} already exists - skipping creation")
+ else:
+ new_user = user.objects.create_superuser(add_user, add_email, add_password)
+ logger.info(f'User {str(new_user)} was created!')
except IntegrityError as _e:
logger.warning(f'The user "{add_user}" could not be created due to the following error:\n{str(_e)}')
if settings.TESTING_ENV:
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index 3012cdc61f..2817664908 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -900,7 +900,7 @@ PLUGINS_ENABLED = _is_true(get_setting(
PLUGIN_FILE = get_plugin_file()
# Plugin Directories (local plugins will be loaded from these directories)
-PLUGIN_DIRS = ['plugin.builtin', 'barcodes.plugins', ]
+PLUGIN_DIRS = ['plugin.builtin', ]
if not TESTING:
# load local deploy directory in prod
diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py
index 2b31d7c3b5..d408bd7346 100644
--- a/InvenTree/InvenTree/urls.py
+++ b/InvenTree/InvenTree/urls.py
@@ -18,7 +18,6 @@ from build.urls import build_urls
from order.urls import order_urls
from plugin.urls import get_plugin_urls
-from barcodes.api import barcode_api_urls
from common.api import common_api_urls, settings_api_urls
from part.api import part_api_urls, bom_api_urls
from company.api import company_api_urls
@@ -28,6 +27,7 @@ from order.api import order_api_urls
from label.api import label_api_urls
from report.api import report_api_urls
from plugin.api import plugin_api_urls
+from plugin.barcode import barcode_api_urls
from django.conf import settings
from django.conf.urls.static import static
@@ -59,7 +59,6 @@ if settings.PLUGINS_ENABLED:
)
apipatterns += [
- re_path(r'^barcode/', include(barcode_api_urls)),
re_path(r'^settings/', include(settings_api_urls)),
re_path(r'^part/', include(part_api_urls)),
re_path(r'^bom/', include(bom_api_urls)),
@@ -75,6 +74,7 @@ apipatterns += [
# Plugin endpoints
re_path(r'^action/', ActionPluginView.as_view(), name='api-action-plugin'),
+ re_path(r'^barcode/', include(barcode_api_urls)),
# Webhook enpoint
path('', include(common_api_urls)),
diff --git a/InvenTree/barcodes/barcode.py b/InvenTree/barcodes/barcode.py
deleted file mode 100644
index 030552c866..0000000000
--- a/InvenTree/barcodes/barcode.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-import warnings
-
-import plugin.builtin.barcode.mixins as mixin
-import plugin.integration
-
-
-hash_barcode = mixin.hash_barcode
-
-
-class BarcodePlugin(mixin.BarcodeMixin, plugin.integration.IntegrationPluginBase):
- """
- Legacy barcode plugin definition - will be replaced
- Please use the new Integration Plugin API and the BarcodeMixin
- """
- # TODO @matmair remove this with InvenTree 0.7.0
- def __init__(self, barcode_data=None):
- warnings.warn("using the BarcodePlugin is depreceated", DeprecationWarning)
- super().__init__()
- self.init(barcode_data)
diff --git a/InvenTree/barcodes/plugins/digikey_barcode.py b/InvenTree/barcodes/plugins/digikey_barcode.py
deleted file mode 100644
index 656cdfa6f4..0000000000
--- a/InvenTree/barcodes/plugins/digikey_barcode.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-DigiKey barcode decoding
-"""
-
-from barcodes.barcode import BarcodePlugin
-
-
-class DigikeyBarcodePlugin(BarcodePlugin):
-
- PLUGIN_NAME = "DigikeyBarcode"
-
- def validate(self):
- """
- TODO: Validation of Digikey barcodes.
- """
-
- return False
diff --git a/InvenTree/label/apps.py b/InvenTree/label/apps.py
index 318f4af984..633907f330 100644
--- a/InvenTree/label/apps.py
+++ b/InvenTree/label/apps.py
@@ -265,6 +265,13 @@ class LabelConfig(AppConfig):
'width': 70,
'height': 24,
},
+ {
+ 'file': 'part_label_code128.html',
+ 'name': 'Barcode Part Label',
+ 'description': 'Simple part label with Code128 barcode',
+ 'width': 70,
+ 'height': 24,
+ },
]
for label in labels:
diff --git a/InvenTree/label/templates/label/part/part_label_code128.html b/InvenTree/label/templates/label/part/part_label_code128.html
new file mode 100644
index 0000000000..7f8ef144ec
--- /dev/null
+++ b/InvenTree/label/templates/label/part/part_label_code128.html
@@ -0,0 +1,33 @@
+{% extends "label/label_base.html" %}
+
+{% load barcode %}
+
+{% block style %}
+
+.qr {
+ position: fixed;
+ left: 0mm;
+ top: 0mm;
+ height: {{ height }}mm;
+ width: {{ height }}mm;
+}
+
+.part {
+ font-family: Arial, Helvetica, sans-serif;
+ display: inline;
+ position: absolute;
+ left: {{ height }}mm;
+ top: 2mm;
+}
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+ {{ part.full_name }}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/InvenTree/label/tests.py b/InvenTree/label/tests.py
index 1e7e7994ae..53724a36fc 100644
--- a/InvenTree/label/tests.py
+++ b/InvenTree/label/tests.py
@@ -5,20 +5,29 @@ from __future__ import unicode_literals
import os
-from django.test import TestCase
from django.conf import settings
from django.apps import apps
+from django.urls import reverse
from django.core.exceptions import ValidationError
from InvenTree.helpers import validateFilterString
+from InvenTree.api_tester import InvenTreeAPITestCase
-from .models import StockItemLabel, StockLocationLabel
+from .models import StockItemLabel, StockLocationLabel, PartLabel
from stock.models import StockItem
-class LabelTest(TestCase):
+class LabelTest(InvenTreeAPITestCase):
+
+ fixtures = [
+ 'category',
+ 'part',
+ 'location',
+ 'stock'
+ ]
def setUp(self) -> None:
+ super().setUp()
# ensure the labels were created
apps.get_app_config('label').create_labels()
@@ -77,3 +86,13 @@ class LabelTest(TestCase):
with self.assertRaises(ValidationError):
validateFilterString(bad_filter_string, model=StockItem)
+
+ def test_label_rendering(self):
+ """Test label rendering"""
+
+ labels = PartLabel.objects.all()
+ part = PartLabel.objects.first()
+
+ for label in labels:
+ url = reverse('api-part-label-print', kwargs={'pk': label.pk})
+ self.get(f'{url}?parts={part.pk}', expected_code=200)
diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index 594e642aac..36ed79e87f 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -128,7 +128,7 @@ msgstr "Chybějící soubor"
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Příloha"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
@@ -158,10 +158,10 @@ msgstr "Komentář"
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Chyba při přejmenování souboru"
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Název"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Název"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Popis (volitelně)"
msgid "parent"
msgstr "nadřazený"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
@@ -283,20 +283,20 @@ msgstr "V souboru nebyly nalezeny žádné sloupce"
msgid "No data rows found in file"
msgstr "V souboru nebyly nalezeny žádné řádky s daty"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Nebyly zadány žádné řádky s daty"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Nebyly zadány žádné sloupce s daty"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Chybí povinný sloupec: '{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicitní sloupec: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 25ad2ad656..cc9d871587 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -128,7 +128,7 @@ msgstr "Fehlende Datei"
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Anhang"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -158,10 +158,10 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Fehler beim Umbenennen"
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
@@ -283,20 +283,20 @@ msgstr "Keine Spalten in der Datei gefunden"
msgid "No data rows found in file"
msgstr "Keine Datensätze in der Datei gefunden"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Keine Zeilen ausgewählt"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Keine Spalten angegeben"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Erforderliche Spalte '{name}' fehlt"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Doppelte Spalte: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Quell-Lagerort"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Bau-Statuscode"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Losnummer"
@@ -799,7 +799,7 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Erstelldatum"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -821,7 +821,7 @@ msgstr "Fertigstellungsdatum"
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Aufgegeben von"
@@ -832,9 +832,9 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
@@ -845,7 +845,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Externer Link"
@@ -855,10 +855,10 @@ msgstr "Externer Link"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Bauauftrag"
@@ -927,7 +927,7 @@ msgstr "Bauauftrag starten um Teile zuzuweisen"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Quell-Lagerartikel"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Quell-Lagerartikel"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr "Endprodukt"
@@ -1015,7 +1015,7 @@ msgstr "Menge der Endprodukte angeben"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1059,7 +1059,7 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden"
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr "Lagerort für fertige Endprodukte"
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr "Bauauftrag hat unvollständige Aufbauten"
msgid "No build outputs have been created for this build order"
msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt"
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1278,7 +1278,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr "Zugewiesene Teile"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Losnummer"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Erstellt"
@@ -1396,7 +1396,7 @@ msgstr "Unter-Bauaufträge"
msgid "Allocate Stock to Build"
msgstr "Bestand Bauauftrag zuweisen"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
@@ -1551,7 +1551,7 @@ msgstr "Bauauftragdetails"
msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Bauauftrag löschen"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponente"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Import in Ansichten anzeigen"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Preis in Formularen anzeigen"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Teilpreis in einigen Formularen anzeigen"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Preis in Stückliste anzeigen"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Preisverlauf anzeigen"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr "Historische Preise für Teil anzeigen"
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "Ausgangsbestand erstellen"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr "Interner Preis als Stückliste-Preis"
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden"
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr "Anzeigeformat für Teilenamen"
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr "Format für den Namen eines Teiles"
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr "Berichte aktivieren"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr "Berichterstellung aktivieren"
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "Tage"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Anmeldung erlauben"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr "Labeldruck aktivieren"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr "Labeldruck über die Website aktivieren"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen"
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Preis"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr "Name für diesen Webhook"
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Datei hochgeladen"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Übereinstimmende Felder"
@@ -2600,7 +2608,7 @@ msgstr "Anlaufstelle"
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Bild"
@@ -2638,7 +2646,7 @@ msgstr "Währung"
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Basisteil"
@@ -2695,7 +2703,7 @@ msgstr "Parametername"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Wert"
@@ -2704,9 +2712,9 @@ msgstr "Wert"
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Einheiten"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Notiz"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Verpackungen"
@@ -2781,7 +2789,7 @@ msgstr "Verpackungen"
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr "Vielfache"
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Bild von URL herunterladen"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "Neuer Auftrag"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -2996,7 +3004,7 @@ msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
msgid "Supplier List"
msgstr "Zulieferer-Liste"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr "Zugewiesene Lagerartikel"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "Bepreisung"
msgid "Stock Items"
msgstr "Lagerartikel"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Neuer Zulieferer"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Neuer Hersteller"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Kunden"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Neuer Kunde"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Firmen"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Neue Firma"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Bild herunterladen"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads"
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Ungültige Antwort {code}"
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Keine korrekten Objekte für Vorlage gegeben"
@@ -3513,7 +3521,7 @@ msgstr "Empfangen"
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "Zulieferer-Teil auswählen"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr "Ausstehende Sendungen"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr "Aktionen"
@@ -3991,24 +3999,24 @@ msgstr "Aktionen"
msgid "New Shipment"
msgstr "Neue Sendung"
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr "Zuliefererteile zuordnen"
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr "Auftrag nicht gefunden"
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr "Preis nicht gefunden"
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr "Stückpreis für {part} auf {price} aktualisiert"
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
@@ -4057,7 +4065,7 @@ msgstr "Standort für anfänglichen Bestand angeben"
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Standard-Lagerort"
@@ -4093,30 +4101,30 @@ msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "Teil-Kategorien"
msgid "Parts"
msgstr "Teile"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr "Nächste verfügbare Seriennummern wären"
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr "Nächste verfügbare Seriennummer ist"
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr "Die neuste Seriennummer ist"
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr "Bemerkungen - unterstüzt Markdown-Formatierung"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil"
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr "Ungültiges Zeichen im Vorlagename ({c})"
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr "Wert"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Teil-ID"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr "Name des Teils"
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr "Teil-ID"
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr "Stufe"
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?"
@@ -5409,80 +5417,80 @@ msgstr "Unbekannte Datenbank"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Kategorie für {n} Teile setzen"
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr "Referenzen zuteilen"
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr "Kein(e)"
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr "Teil-QR-Code"
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr "Löschen des Teils bestätigen"
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr "Teil wurde gelöscht"
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr "Teilbepreisung"
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr "Teil-Kategorie wurde gelöscht"
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr "Kategorieparametervorlage bearbeiten"
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
@@ -5508,7 +5516,7 @@ msgstr "E-Mail-Benachrichtigungen aktivieren"
msgid "Allow sending of emails for event notifications"
msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben"
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr "Labeldruck fehlgeschlagen"
@@ -5718,9 +5726,9 @@ msgid "Stock Item Test Report"
msgstr "Lagerartikel Test-Bericht"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5732,12 +5740,12 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr "Ergebnis"
@@ -5779,237 +5787,237 @@ msgstr "Gültiges Teil muss angegeben werden"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits"
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr "Teil muss eine Referenz haben wenn is_building wahr ist"
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr "Eltern-Lagerartikel"
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses Lagerartikel ist gelagert in"
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr "verbaut in"
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr "Lagerartikel-Notizen"
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seriennummern {exists} existieren bereits"
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr "Test Notizen"
@@ -6329,7 +6337,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
@@ -6479,7 +6487,7 @@ msgstr "Zuweisungen"
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr "Lagerartikel umwandeln"
@@ -6504,55 +6512,55 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel-Verfolgungs-Eintrag löschen wollen?"
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "QR-Code für diesen Lagerort"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr "zurück ins Lager"
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "gültigen Lagerort angeben"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr "Lagerartikel retoure vom Kunden"
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr "alle Testdaten löschen"
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr "Löschen Testdaten bestätigen"
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "Bestätigungsbox bestätigen"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr "Lagerartikel-QR-Code"
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr "Lagerartikel löschen"
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr "Bestand-Tracking-Eintrag löschen"
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr "Bestand-Verfolgungs-Eintrag bearbeiten"
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr "Bestand-Verfolgungs-Eintrag hinzufügen"
@@ -6687,7 +6695,7 @@ msgid "Notifications"
msgstr "Benachrichtigungen"
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6840,9 +6848,9 @@ msgstr "Autor"
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
-msgstr "Code Beispiel"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
+msgstr ""
#: templates/InvenTree/settings/plugin.html:99
msgid "Inactive plugins"
@@ -6945,28 +6953,32 @@ msgid "Edit Plugin Setting"
msgstr "Plugin-Einstellungen bearbeiten"
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr "Allgemeine Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr "Benutzereinstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "Vorlage löschen"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
@@ -7508,15 +7520,15 @@ msgstr "Link hinzufügen"
msgid "Add Attachment"
msgstr "Anhang hinzufügen"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "Server-Neustart erforderlich"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr "Eine Konfigurationsoption wurde geändert, die einen Neustart des Servers erfordert"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr "Bitte kontaktieren Sie Ihren Administrator für mehr Informationen"
@@ -7544,8 +7556,8 @@ msgstr "Benötigte Menge"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7872,24 +7884,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr "Varianten erlaubt"
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr "Enthält Ersatzbestand"
@@ -7929,7 +7941,7 @@ msgstr "Stücklisten-Position bearbeiten"
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
@@ -7937,7 +7949,7 @@ msgstr "Keine Stücklisten-Position(en) gefunden"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Sind Sie sicher, dass Sie diese Stücklisten-Position löschen wollen?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr "benötigtes Teil"
@@ -8063,166 +8075,166 @@ msgstr "Keine Allokationen für Bauauftrag gefunden"
msgid "Location not specified"
msgstr "Standort nicht angegeben"
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr "Keine aktiven Endprodukte gefunden"
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr "Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr "Zuordnung entfernen"
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Zugeordnet"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr "Bestand bauen"
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Bestand zuweisen"
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Teile auswählen"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr "Alle Teile zugeordnet"
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet"
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)"
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerartikel für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr "Automatische Lagerzuordnung"
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien"
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr "Wenn ein Standort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen"
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird"
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann"
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr "Lagerartikel zuordnen"
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Auswählen"
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr "Keine Information"
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 3a5ab98fc4..6d71db45cd 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index a31afe3d98..4c765e7bd9 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-02 23:27+0000\n"
+"POT-Creation-Date: 2022-05-07 23:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,9 +34,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -85,8 +84,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -120,7 +118,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -140,15 +138,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -161,12 +159,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -203,27 +201,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -231,14 +229,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -250,7 +248,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -422,7 +420,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -442,8 +440,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -523,7 +521,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -659,14 +657,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -674,7 +664,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -692,14 +682,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -717,12 +707,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -733,19 +722,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -761,8 +750,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -802,8 +791,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -811,12 +800,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -824,8 +813,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -833,7 +822,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -843,10 +832,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -855,8 +844,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -864,21 +853,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -886,81 +875,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -968,42 +956,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1027,9 +1014,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1041,10 +1029,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1060,7 +1047,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1068,17 +1055,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1087,12 +1074,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1101,108 +1088,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1229,7 +1232,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1273,13 +1275,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1306,14 +1308,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1323,19 +1325,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1352,8 +1350,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1367,19 +1365,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1399,7 +1397,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1429,8 +1427,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1554,11 +1552,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1599,856 +1593,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2456,79 +2442,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2568,7 +2554,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2578,7 +2564,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2594,7 +2580,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2603,7 +2589,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2615,7 +2601,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2644,7 +2630,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2653,18 +2639,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2673,139 +2659,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2824,61 +2809,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2890,20 +2875,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2911,7 +2895,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2989,7 +2973,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2998,13 +2982,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3013,83 +2997,87 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3111,8 +3099,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3126,66 +3115,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3197,7 +3190,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3217,56 +3210,56 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -3339,19 +3332,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3372,280 +3352,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3653,99 +3638,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3765,6 +3769,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3774,8 +3787,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3794,51 +3811,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3865,10 +3866,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3885,64 +3887,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3959,7 +3903,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3989,7 +3933,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4007,7 +3951,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4016,7 +3960,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4030,15 +3974,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4049,7 +3984,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4057,69 +3992,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4168,7 +4058,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4192,15 +4082,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4216,7 +4106,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4233,7 +4123,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4242,411 +4132,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4806,7 +4696,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4827,39 +4717,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5047,26 +4929,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5217,7 +5099,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5226,7 +5108,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5270,7 +5152,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5384,7 +5266,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5459,6 +5341,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5523,84 +5409,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5608,7 +5490,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5620,34 +5520,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5805,17 +5709,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5836,7 +5744,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5854,67 +5762,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6016,6 +5882,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6090,7 +5961,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6159,7 +6030,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6171,7 +6042,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6187,63 +6058,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6284,17 +6163,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6413,7 +6292,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6450,7 +6329,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6466,20 +6345,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6600,11 +6479,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6617,6 +6492,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6625,95 +6504,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6848,7 +6687,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7001,8 +6840,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -7093,41 +6932,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7418,7 +7257,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7428,10 +7267,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7671,15 +7510,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7707,8 +7546,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7743,11 +7582,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7759,27 +7598,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7791,11 +7630,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7847,89 +7686,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7946,12 +7785,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8035,24 +7874,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8092,7 +7931,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8100,7 +7939,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8108,267 +7947,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8388,7 +8244,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8502,61 +8358,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8577,7 +8433,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8630,62 +8486,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8710,19 +8566,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8742,280 +8599,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9099,6 +9037,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9192,8 +9134,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9201,75 +9143,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9351,340 +9293,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10202,34 +10164,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 117f4fbd19..9331904782 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index a31afe3d98..4c765e7bd9 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-02 23:27+0000\n"
+"POT-Creation-Date: 2022-05-07 23:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,9 +34,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -85,8 +84,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -120,7 +118,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -140,15 +138,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -161,12 +159,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -203,27 +201,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -231,14 +229,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -250,7 +248,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -422,7 +420,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -442,8 +440,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -523,7 +521,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -659,14 +657,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -674,7 +664,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -692,14 +682,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -717,12 +707,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -733,19 +722,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -761,8 +750,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -802,8 +791,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -811,12 +800,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -824,8 +813,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -833,7 +822,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -843,10 +832,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -855,8 +844,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -864,21 +853,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -886,81 +875,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -968,42 +956,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1027,9 +1014,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1041,10 +1029,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1060,7 +1047,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1068,17 +1055,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1087,12 +1074,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1101,108 +1088,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1229,7 +1232,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1273,13 +1275,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1306,14 +1308,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1323,19 +1325,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1352,8 +1350,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1367,19 +1365,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1399,7 +1397,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1429,8 +1427,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1554,11 +1552,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1599,856 +1593,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2456,79 +2442,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2568,7 +2554,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2578,7 +2564,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2594,7 +2580,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2603,7 +2589,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2615,7 +2601,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2644,7 +2630,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2653,18 +2639,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2673,139 +2659,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2824,61 +2809,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2890,20 +2875,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2911,7 +2895,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2989,7 +2973,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2998,13 +2982,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3013,83 +2997,87 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3111,8 +3099,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3126,66 +3115,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3197,7 +3190,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3217,56 +3210,56 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -3339,19 +3332,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3372,280 +3352,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3653,99 +3638,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3765,6 +3769,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3774,8 +3787,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3794,51 +3811,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3865,10 +3866,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3885,64 +3887,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3959,7 +3903,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3989,7 +3933,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4007,7 +3951,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4016,7 +3960,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4030,15 +3974,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4049,7 +3984,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4057,69 +3992,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4168,7 +4058,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4192,15 +4082,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4216,7 +4106,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4233,7 +4123,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4242,411 +4132,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4806,7 +4696,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4827,39 +4717,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5047,26 +4929,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5217,7 +5099,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5226,7 +5108,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5270,7 +5152,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5384,7 +5266,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5459,6 +5341,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5523,84 +5409,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5608,7 +5490,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5620,34 +5520,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5805,17 +5709,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5836,7 +5744,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5854,67 +5762,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6016,6 +5882,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6090,7 +5961,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6159,7 +6030,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6171,7 +6042,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6187,63 +6058,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6284,17 +6163,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6413,7 +6292,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6450,7 +6329,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6466,20 +6345,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6600,11 +6479,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6617,6 +6492,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6625,95 +6504,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6848,7 +6687,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7001,8 +6840,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -7093,41 +6932,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7418,7 +7257,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7428,10 +7267,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7671,15 +7510,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7707,8 +7546,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7743,11 +7582,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7759,27 +7598,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7791,11 +7630,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7847,89 +7686,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7946,12 +7785,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8035,24 +7874,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8092,7 +7931,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8100,7 +7939,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8108,267 +7947,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8388,7 +8244,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8502,61 +8358,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8577,7 +8433,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8630,62 +8486,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8710,19 +8566,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8742,280 +8599,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9099,6 +9037,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9192,8 +9134,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9201,75 +9143,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9351,340 +9293,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10202,34 +10164,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index ee83294783..70da841c2b 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 30b493426e..a738aefad9 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -128,7 +128,7 @@ msgstr "Fichier manquant"
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Pièce jointe"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Lien vers une url externe"
@@ -158,10 +158,10 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Erreur lors du renommage du fichier"
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Nom"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Nom"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Description (facultative)"
msgid "parent"
msgstr "parent"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
@@ -283,20 +283,20 @@ msgstr "Pas de colonnes trouvées dans le fichier"
msgid "No data rows found in file"
msgstr "Par de lignes de données trouvées dans le fichier"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Pas de lignes de données fournies"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Pas de colonne de données fournie"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonne requise manquante : {name}"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonne duliquée : '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "BuildOrder associé a cette fabrication"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Commande de vente à laquelle cette construction est allouée"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Emplacement d'origine"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Code de statut de construction"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Code de lot"
@@ -799,7 +799,7 @@ msgstr "Code de lot"
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Date de création"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -821,7 +821,7 @@ msgstr "Date d'achèvement"
msgid "completed by"
msgstr "achevé par"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Émis par"
@@ -832,9 +832,9 @@ msgstr "Utilisateur ayant émis cette commande de construction"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Responsable"
@@ -845,7 +845,7 @@ msgstr "Utilisateur responsable de cette commande de construction"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Lien Externe"
@@ -855,10 +855,10 @@ msgstr "Lien Externe"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Assemblage"
@@ -927,7 +927,7 @@ msgstr "Construction à laquelle allouer des pièces"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Stock d'origine de l'article"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Stock d'origine de l'article"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Stock de destination de l'article"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr "Sortie d'assemblage"
@@ -1015,7 +1015,7 @@ msgstr "Entrer la quantité désiré pour la fabrication"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1059,7 +1059,7 @@ msgstr "Une liste d'ordre de production doit être fourni"
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr "Emplacement des ordres de production achevés"
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr "L'ordre de production a des sorties incomplètes"
msgid "No build outputs have been created for this build order"
msgstr "Aucune sortie de construction n'a été créée pour cet ordre de construction"
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr "Pièces allouées"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Lot"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Créé le"
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Désallouer le stock"
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Supprimer l'ordre de construction"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Activer le support du scanner de code-barres"
#: common/models.py:846
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/models.py:847
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr "Copier les données des paramètres de la pièce"
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr "Copier les données de test de la pièce"
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Copier les données de test par défaut lors de la duplication d'une pièce"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Copier les templates de paramètres de catégorie"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Composant"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Achetable"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Vendable"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Traçable"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Les pièces sont virtuelles par défaut"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Afficher l'import dans les vues"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Afficher l'assistant d'importation pour certaine vues de produits"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Afficher le prix dans les formulaires"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Afficher le prix de la pièce dans certains formulaires"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Afficher le prix dans la BOM"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Inclure les informations de prix dans les tableaux de la BOM"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Historique des prix"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Afficher les pièces connexes"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr "Afficher les pièces connexes à une pièce"
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "Créer un stock initial"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr "Créer le stock initial lors de la création d'une pièce"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Prix internes"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "Activer les prix internes pour les pièces"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Taille de la page"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Rapports de test"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "jours"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr "Valeur préfixe référence commande client"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr "Préfixe des commandes d'achats"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr "Valeur préfixe référence bon de commande"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Email requis"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Prix"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr "Actif"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr "Point de contact"
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr "Devise"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Valeur"
@@ -2704,9 +2712,9 @@ msgstr "Valeur"
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Télécharger l'image depuis l'URL"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "Nouvelle commande de vente"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr "Stock affecté"
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr "Liste des Fournisseurs"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "Tarif"
msgid "Stock Items"
msgstr "Éléments en stock"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Nouveau Fournisseur"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Nouveau Fabricant"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Clients"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Nouveaux Clients"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Entreprises"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Nouvelle Entreprise"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Aucun objet valide n'a été fourni au modèle"
@@ -3513,7 +3521,7 @@ msgstr "Reçu"
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr "Expéditions en attente"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr "Prix introuvable"
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Catégories de composants"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "Catégories de composants"
msgid "Parts"
msgstr "Composantes"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr "Les prochains numéros de série disponibles sont"
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr "Le prochain numéro de série disponible est"
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr "Le numéro de série le plus récent est"
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Description du composant"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Révision"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Requis"
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr "Données"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "ID de composant"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr "Aucun"
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr "Résultat"
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Propriétaire"
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr "Sélectionner un propriétaire"
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr "Il existe déjà un article en stock avec ce numéro de série"
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantité doit être de 1 pour un article avec un numéro de série"
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1"
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr "Les numéros de série doivent être une liste de nombres entiers"
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Les numéros de série existent déja : {exists}"
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "Cocher la case de confirmation"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr "Ajouter un lien"
msgid "Add Attachment"
msgstr "Ajouter une pièce jointe"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "Redémarrage du serveur nécessaire"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr "Une option de configuration a été modifiée, ce qui nécessite un redémarrage du serveur"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr "Contactez votre administrateur système pour plus d'informations"
@@ -7542,8 +7554,8 @@ msgstr "Quantité requise"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr "Commander des stocks"
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index 87dada44f7..0cb092eb53 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -128,7 +128,7 @@ msgstr "קובץ חסר"
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "קובץ מצורף"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "קישור חיצוני"
@@ -158,10 +158,10 @@ msgstr "הערה"
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "שגיאה בשינוי שם פריט"
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "שם"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "שם"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "תיאור (לא חובה)"
msgid "parent"
msgstr "מקור"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index 8c5816c4cb..a6ff9869e7 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -128,7 +128,7 @@ msgstr "Hiányzó fájl"
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Melléklet"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Link külső URL-re"
@@ -158,10 +158,10 @@ msgstr "Megjegyzés"
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Hiba a fájl átnevezésekor"
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Név"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Név"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Leírás (opcionális)"
msgid "parent"
msgstr "szülő"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
@@ -283,20 +283,20 @@ msgstr "Nem találhatók oszlopok a fájlban"
msgid "No data rows found in file"
msgstr "Nincsenek adatsorok a fájlban"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Nincs adatsor megadva"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Nincs adat oszlop megadva"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Szükséges oszlop hiányzik: '{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikált oszlop: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Forrás hely"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Gyártás státusz kód"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Batch kód"
@@ -799,7 +799,7 @@ msgstr "Batch kód"
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Létrehozás dátuma"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Elkészítés dátuma"
@@ -821,7 +821,7 @@ msgstr "Elkészítés dátuma"
msgid "completed by"
msgstr "elkészítette"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Kiállította"
@@ -832,9 +832,9 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Felelős"
@@ -845,7 +845,7 @@ msgstr "Felhasználó aki felelős ezért a gyártási utasításért"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Külső link"
@@ -855,10 +855,10 @@ msgstr "Külső link"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Gyártás"
@@ -927,7 +927,7 @@ msgstr "Gyártás amihez készletet foglaljunk"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Forrás készlet tétel"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Forrás készlet tétel"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Cél készlet tétel"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr "Gyártás kimenet"
@@ -1015,7 +1015,7 @@ msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1059,7 +1059,7 @@ msgstr "A gyártási kimenetek listáját meg kell adni"
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr "A kész gyártási kimenetek helye"
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1139,8 +1139,8 @@ msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
msgid "No build outputs have been created for this build order"
msgstr "Ehhez a gyártási utasításhoz nem készült kimenet"
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1279,7 +1279,7 @@ msgstr "A készlet nem lett teljesen lefoglalva ehhez a gyártási utasításhoz
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1365,7 +1365,7 @@ msgstr "Lefoglalt alkatrészek"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1377,7 +1377,7 @@ msgstr "Batch"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Létrehozva"
@@ -1397,7 +1397,7 @@ msgstr "Alárendelt gyártások"
msgid "Allocate Stock to Build"
msgstr "Készlet foglalása gyártáshoz"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Készlet felszabadítása"
@@ -1552,7 +1552,7 @@ msgstr "Gyártási utasítás részletei"
msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Gyártási utasítás törlése"
@@ -1694,747 +1694,755 @@ msgid "Enable barcode scanner support"
msgstr "Vonalkód olvasó engedélyezése"
#: common/models.py:846
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
msgid "IPN Regex"
msgstr "IPN reguláris kifejezés"
-#: common/models.py:847
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Többször is előforduló IPN engedélyezése"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Azonos IPN használható legyen több alkatrész esetén is"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "IPN szerkesztésének engedélyezése"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr "Alkatrészjegyzék adatok másolása"
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból"
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr "Alkatrész paraméterek másolása"
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból"
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr "Alkatrész teszt adatok másolása"
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Kategória paraméter sablonok másolása"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Sablon"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Gyártmány"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Összetevő"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Értékesíthető"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuális"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Alkatrészek alapból virtuálisak legyenek"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Importálás megjelenítése a nézetekben"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Import segéd megjelenítése néhány alkatrész nézetben"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Ár megjelenítése a formokon"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Alkatrész árak megjelenítése néhány formon"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Ár megjelenítése az alkatrészjegyzékben"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Ártörténet megjelenítése"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr "Alkatrész ártörténet megjelenítése"
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Kapcsolódó alkatrészek megjelenítése"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése"
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "Kezdeti készlet létrehozása"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Belső árak"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "Alkatrészekhez belső ár engedélyezése"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr "Belső ár alkatrészjegyzék árként"
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában"
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr "Alkatrész név megjelenítés formátuma"
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr "Formátum az alkatrész név megjelenítéséhez"
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr "Riportok engedélyezése"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr "Riportok előállításának engedélyezése"
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debug mód"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Lapméret"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Teszt riportok"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "Teszt riportok előállításának engedélyezése"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr "Batch kód sablon"
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr "Készlet lejárata"
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr "Készlet lejárat kezelésének engedélyezése"
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr "Lejárt készlet értékesítése"
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr "Lejárt készlet értékesítésének engedélyezése"
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr "Álló készlet ideje"
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "nap"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr "Gyártási utasítás azonosító előtagja"
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr "Előtag értéke a gyártási utasítás azonosítóhoz"
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr "Gyártási utasítás azonosító reguláris kifejezés"
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr "Gyártási utasítás azonosítóra illeszkedő reguláris kifejezés"
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr "Vevői rendelés azonosító előtagja"
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr "Előtag értéke a vevői rendelés azonosítóhoz"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr "Beszerzési rendelés azonosító előtagja"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Email szükséges"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr "Legfrissebb alkatrész szám"
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr "Főoldalon megjelenítendő legújabb alkatrészek"
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon"
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr "Legfrissebb készlet mennyiség"
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr "Késésben lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések"
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr "Kintlévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr "Címke nyomtatás engedélyezése"
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr "Címke nyomtatás engedélyezése a web felületről"
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF riport megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben"
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr "Készlet tételek megjelenítése a keresési előnézetben"
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr "Vevői rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként"
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr "Inaktív alkatrészek elrejtése a kereső előnézeti ablakban"
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon"
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr "ESC billentyű használata a modális formok bezárásához"
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr "A menü pozíciója mindig rögzítve a lap tetején"
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr "Árlépcső mennyiség"
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Ár"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2442,79 +2450,79 @@ msgstr "Webhook neve"
msgid "Active"
msgstr "Aktív"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr "Token"
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr "Titok"
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr "Törzs"
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Fájl feltöltése"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Mezők egyeztetése"
@@ -2601,7 +2609,7 @@ msgstr "Kapcsolattartó"
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Kép"
@@ -2639,7 +2647,7 @@ msgstr "Pénznem"
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Kiindulási alkatrész"
@@ -2696,7 +2704,7 @@ msgstr "Paraméter neve"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Érték"
@@ -2705,9 +2713,9 @@ msgstr "Érték"
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Mértékegységek"
@@ -2758,22 +2766,22 @@ msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Csomagolás"
@@ -2782,7 +2790,7 @@ msgstr "Csomagolás"
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr "többszörös"
@@ -2846,8 +2854,8 @@ msgid "Download image from URL"
msgstr "Kép letöltése URL-ről"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2973,7 +2981,7 @@ msgid "New Sales Order"
msgstr "Új vevői rendelés"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
@@ -2997,7 +3005,7 @@ msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz"
msgid "Supplier List"
msgstr "Beszállítók listája"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3030,7 +3038,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3098,7 +3106,7 @@ msgid "Assigned Stock Items"
msgstr "Hozzárendelt készlet tételek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3221,49 +3229,49 @@ msgstr "Árazás"
msgid "Stock Items"
msgstr "Készlet tételek"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Új beszállító"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Új gyártó"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Vevők"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Új vevő"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Cégek"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Új cég"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Kép letöltése"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr "A kép mérete meghaladja a maximum megengedett letöltés méretét"
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Érvénytelen válasz: {code}"
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr "A megadott URL nem egy érvényes kép fájl"
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Nincs érvényes objektum megadva a sablonhoz"
@@ -3514,7 +3522,7 @@ msgstr "Beérkezett"
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3867,7 +3875,7 @@ msgstr "Beszállítói alkatrész kiválasztása"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3984,7 +3992,7 @@ msgid "Pending Shipments"
msgstr "Függő szállítmányok"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr "Műveletek"
@@ -3992,24 +4000,24 @@ msgstr "Műveletek"
msgid "New Shipment"
msgstr "Új szállítmány"
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr "Beszállítói alkatrészek egyeztetése"
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr "Vevő rendelés nem találhtó"
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr "Nem található ár"
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr "A {part} egységára {price}-ra módosítva"
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}"
@@ -4058,7 +4066,7 @@ msgstr "Hely megadása a kezdeti alkarész készlethez"
msgid "This field is required"
msgstr "Ez a mező kötelező"
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Alapértelmezett hely"
@@ -4094,30 +4102,30 @@ msgstr "Paraméter sablon hozzáadása az összes kategóriához"
msgid "Input quantity for price calculation"
msgstr "Add meg a mennyiséget az árszámításhoz"
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr "Alapértelmezett kulcsszavak"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4128,415 +4136,415 @@ msgstr "Alkatrész kategóriák"
msgid "Parts"
msgstr "Alkatrészek"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)"
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr "A következő szabad sorozatszámok"
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr "A következő szabad sorozatszám"
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr "A legutóbbi sorozatszám"
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Alkatrész leírása"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Kulcsszavak"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben"
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategória"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "IPN"
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Változat"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire"
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimális készlet"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr "Az alkatrész raktározási mértékegységei"
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr "Gyártható-e ez az alkatrész más alkatrészekből?"
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?"
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?"
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?"
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr "Alkatrész megjegyzései - támogatja a Markdown formázást"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni"
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr "Erre az alkatrészre már létezik teszt ilyen névvel"
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?"
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?"
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr "Érvénytelen karakter ({c}) a sablon nevében"
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr "Adat"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr "Alkatrész neve"
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr "Alkatrész IPN"
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr "Szint"
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)"
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik"
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén"
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész"
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Hiba a kapcsolat létrehozása közben: ellenőrizd hogy az alkatrész nem kapcsolódik-e saját magához és azt hogy a kapcsolat egyedi"
@@ -5408,80 +5416,80 @@ msgstr "Ismeretlen adatbázis"
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "Alkatrész kategória beállítása"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Állítsd be {n} alkatrész kategóriáját"
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr "Azonosítók egyeztetése"
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr "Egyik sem"
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr "Alkatrész QR kódja"
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr "Válassz képet az alkatrészhez"
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr "Alkatrész képe frissítve"
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr "Az alkatrész képe nem található"
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr "Alkatrész törlés megerősítése"
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr "Alkatrész törölve"
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr "Alkatrész árak"
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr "Alkatrész paraméter sablon létrehozása"
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr "Alkatrész paraméter sablon módosítása"
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr "Alkatrész paraméter sablon törlése"
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr "Alkatrész kategória törlése"
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr "Alkatrész kategória törölve"
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr "Kategória paraméter sablon létrehozása"
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr "Kategória paraméter sablon szerkesztése"
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr "Kategória paraméter sablon törlése"
@@ -5507,7 +5515,7 @@ msgstr "Email értesítések engedélyezése"
msgid "Allow sending of emails for event notifications"
msgstr "Email küldés engedélyezése esemény értesítésekre"
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr "Címkenyomtatás sikertelen"
@@ -5717,9 +5725,9 @@ msgid "Stock Item Test Report"
msgstr "Készlet tétel teszt riport"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5731,12 +5739,12 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr "Teszt"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr "Eredmény"
@@ -5778,237 +5786,237 @@ msgstr "Egy érvényes alkatrészt meg kell adni"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén"
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Tulajdonos"
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr "Tulajdonos kiválasztása"
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél"
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy"
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr "A tétel nem tartozhat saját magához"
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz"
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat"
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr "Szülő készlet tétel"
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr "Kiindulási alkatrész"
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez"
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Készlet hely"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr "A csomagolása ennek a készlet tételnek itt van tárolva"
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr "Beépítve ebbe"
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr "Ez a tétel be van építve egy másik tételbe?"
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr "Lejárati dátum"
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr "Készlet tétel megjegyzések"
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr "Egy egység beszerzési ára a beszerzés időpontjában"
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "A mennyiség nem lépheti túl a készletet ({n})"
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr "A sorozatszám egész számok listája kell legyen"
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Ezek a sorozatszámok már léteznek: {exists}"
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon"
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Készlet tétel nem mozgatható mivel nincs készleten"
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr "Teszt neve"
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr "Tesztek megjegyzései"
@@ -6328,7 +6336,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Nincs beállítva hely"
@@ -6478,7 +6486,7 @@ msgstr "Foglalások"
msgid "Child Items"
msgstr "Gyermek tételek"
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr "Készlet tétel konvertálása"
@@ -6503,55 +6511,55 @@ msgstr "Ez a művelet nem vonható vissza könnyen"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Biztosan törölni akarod ezt a készlettörténeti bejegyzést?"
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "Készlet hely QR kódja"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr "Visszavétel készletre"
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "Adj meg egy érvényes helyet"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr "Készlet tétel vevőtől visszahozva"
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr "Minden teszt adat törlése"
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr "Teszt adat törlésének megerősítése"
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "Klikkeld be a megerősítő mezőt"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr "Készlet tétel QR kódja"
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "Készlethely törlése"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr "Készlet tétel törlése"
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés törlése"
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés szerkesztése"
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés hozzáadása"
@@ -6686,7 +6694,7 @@ msgid "Notifications"
msgstr "Értesítések"
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr "Azonosító"
@@ -6839,9 +6847,9 @@ msgstr "Szerző"
msgid "Version"
msgstr "Verzió"
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
-msgstr "kód minta"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
+msgstr ""
#: templates/InvenTree/settings/plugin.html:99
msgid "Inactive plugins"
@@ -6944,28 +6952,32 @@ msgid "Edit Plugin Setting"
msgstr "Plugin beállítások módosítása"
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr "Általános beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr "Felhasználói beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Nincs kategória paraméter sablon"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "Sablon szerkesztése"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "Sablon törlése"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
@@ -7507,15 +7519,15 @@ msgstr "Link hozzáadása"
msgid "Add Attachment"
msgstr "Melléklet hozzáadása"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "Kiszolgáló újraindítása szükséges"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr "Egy olyan konfigurációs opció megváltozott ami a kiszolgáló újraindítását igényli"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr "Vedd fel a kapcsolatot a rendszergazdával további információkért"
@@ -7543,8 +7555,8 @@ msgstr "Szükséges mennyiség"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7871,24 +7883,24 @@ msgstr "BOM betöltése az al-gyártmányhoz"
msgid "Substitutes Available"
msgstr "Vannak helyettesítők"
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr "Készletváltozatok engedélyezve"
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr "Nincs szabad"
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr "Változatokkal és helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
@@ -7928,7 +7940,7 @@ msgstr "Alkatrészjegyzék tétel szerkesztése"
msgid "Delete BOM Item"
msgstr "Alkatrészjegyzék tétel törlése"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr "Nem találhatók alkatrészjegyzék tételek"
@@ -7936,7 +7948,7 @@ msgstr "Nem találhatók alkatrészjegyzék tételek"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Biztos törölni akarod ezt az alkatrészjegyzék tételt?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr "Szükséges alkatrész"
@@ -8062,166 +8074,166 @@ msgstr "Nincs gyártási utasításhoz történő foglalás"
msgid "Location not specified"
msgstr "Hely nincs megadva"
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr "Nem található aktív gyártási kimenet"
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr "Nincsenek követett BOM tételek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr "Befejezett tesztek"
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr "Foglalás szerkesztése"
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr "Foglalás törlése"
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr "Vannak helyettesítő alkatrészek"
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr "Szükséges/db"
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr "Van elegendő"
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Lefoglalva"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr "Gyártási készlet"
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr "Készlet rendelés"
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Kiválasztott alkatrészek"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz"
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr "Minden alkatrész lefoglalva"
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr "Minden kiválasztott alkatrész teljesen lefoglalva"
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)"
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr "Készlet foglalása a gyártási utasításhoz"
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Nincs egyező készlethely"
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr "Nincs egyező készlet"
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr "Automatikus készlet foglalás"
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "A készlet automatikusan lefoglalásra került ehhez a gyártási utasításhoz, a megadott feltételek szerint"
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva"
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva"
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete"
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr "Készlet tételek foglalása"
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Kiválaszt"
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr "Gyártás késésben van"
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr "Haladás"
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Nincs felhasználói információ"
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr "Nincs információ"
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr "Nincs lefoglalt alkatrész ehhez"
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index a29dab65ac..e8fc8c3690 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 5479b5679b..6a93cd2af4 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -128,7 +128,7 @@ msgstr "File mancante"
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Allegato"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Seleziona file da allegare"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Link a URL esterno"
@@ -158,10 +158,10 @@ msgstr "Commento"
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Errore nella rinominazione del file"
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Nome"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Nome"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Descrizione (opzionale)"
msgid "parent"
msgstr "genitore"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Posizione Di Origine"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Data di creazione"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Data di completamento"
@@ -821,7 +821,7 @@ msgstr "Data di completamento"
msgid "completed by"
msgstr "Completato da"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Rilasciato da"
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Responsabile"
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Collegamento esterno"
@@ -855,10 +855,10 @@ msgstr "Collegamento esterno"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Articolo in giacenza selezionato non trovato nel BOM"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Produzione"
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Origine giacenza articolo"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Origine giacenza articolo"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr "Inserisci la quantità per l'output di compilazione"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr "Posizione per gli output di build completati"
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Lotto"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Creato"
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Elimina Ordine Build"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Abilita supporto scanner codici a barre"
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "Schema di espressione regolare per l'articolo corrispondente IPN"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Consenti duplicati IPN"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Permetti a più articoli di condividere lo stesso IPN"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Permetti modifiche al part number interno (IPN)"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr "Copia I Dati Della distinta base dell'articolo"
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr "Copia I Dati Parametro dell'articolo"
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copia i dati dei parametri di default quando si duplica un articolo"
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Copia i dati di prova di default quando si duplica un articolo"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Copia Template Parametri Categoria"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Assemblaggio"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Componente"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Acquistabile"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Vendibile"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Tracciabile"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuale"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Gli articoli sono virtuali per impostazione predefinita"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Mostra l'importazione nelle viste"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Mostra la procedura guidata di importazione in alcune viste articoli"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Mostra il prezzo nei moduli"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Mostra il prezzo dell'articolo in alcuni moduli"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Mostra il prezzo nella BOM"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Includi le informazioni sui prezzi nelle tabelle BOM"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Mostra articoli correlati"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr "Visualizza parti correlate per ogni articolo"
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "Crea giacenza iniziale"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr "Crea giacenza iniziale sulla creazione articolo"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Prezzi interni"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "Abilita prezzi interni per gli articoli"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr "Prezzo interno come BOM-Price"
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM"
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr "Formato di visualizzazione del nome articolo"
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr "Formato per visualizzare il nome dell'articolo"
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr "Abilita Report di Stampa"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr "Abilita generazione di report di stampa"
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Modalità Debug"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "Genera report in modalità debug (output HTML)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Dimensioni pagina"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "Dimensione predefinita della pagina per i report PDF"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Stampa di prova"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "Abilita generazione di stampe di prova"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr "Scadenza giacenza"
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr "Abilita funzionalità di scadenza della giacenza"
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr "Vendi giacenza scaduta"
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr "Consenti la vendita di stock scaduti"
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "giorni"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr "Referenza ordine d'acquisto"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Email richiesta"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr "Attivo"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Carica file"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Abbina Campi"
@@ -2600,7 +2608,7 @@ msgstr "Punto di contatto"
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Immagine"
@@ -2638,7 +2646,7 @@ msgstr "Valuta"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Articolo di base"
@@ -2695,7 +2703,7 @@ msgstr "Nome parametro"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Valore"
@@ -2704,9 +2712,9 @@ msgstr "Valore"
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Unità"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Nota"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "costo base"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Confezionamento"
@@ -2781,7 +2789,7 @@ msgstr "Confezionamento"
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr "multiplo"
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Scarica immagine dall'URL"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati"
msgid "Supplier List"
msgstr "Elenco dei fornitori"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "Prezzi"
msgid "Stock Items"
msgstr "Articoli in magazzino"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Nuovo Fornitore"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Nuovo Produttore"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Clienti"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Nuovo cliente"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Aziende"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Nuova Azienda"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Download Immagine"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr "La dimensione dell'immagine supera la dimensione massima consentita per il download"
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Risposta non valida: {code}"
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fornito non è un file immagine valido"
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Nessun oggetto valido fornito nel modello"
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "Seleziona l'articolo del fornitore"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr "Specifica la posizione per lo stock iniziale"
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Posizione Predefinita"
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr "Digita la quantità per il calcolo del prezzo"
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Posizione predefinita per gli articoli di questa categoria"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr "Keywords predefinite"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Categorie Articolo"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "Categorie Articolo"
msgid "Parts"
msgstr "Articoli"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr "I successivi numeri di serie disponibili sono"
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr "Il prossimo numero di serie disponibile è"
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr "Il numero di serie più recente è"
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Variante Di"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Descrizione articolo"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Parole Chiave"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Categoria"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Revisione"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo"
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Scorta Minima"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr "Unità di conservazione delle scorte per quest'articolo"
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "È una parte virtuale, come un prodotto software o una licenza?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr "Note dell'articolo - supporta la formattazione Markdown"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr "Database sconosciuto"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "Imposta categoria articolo"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Imposta categoria per {n} articoli"
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr "Elimina categoria"
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr "La Categoria articoli è stata eliminata"
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr "Crea Template Parametro Categoria"
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr "Modifica Modello Parametro Categoria"
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr "Elimina Modello Parametro Categoria"
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr "Seleziona Owner"
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr "Articolo base"
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Ubicazione magazzino"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr "Installato In"
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr "Data di Scadenza"
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Nessuna posizione impostata"
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "QR Code della posizione magazzino"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "Specificare una posizione valida"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "Elimina Posizione di Giacenza"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Nessun parametro di categoria trovato"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr "Aggiungi allegato"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "È necessario riavviare il server"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr "È stata modificata un'impostazione che richiede un riavvio del server"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr "Contatta l'amministratore per maggiori informazioni"
@@ -7542,8 +7554,8 @@ msgstr "Quantità richiesta"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr "Posizione non specificata"
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Modifica allocazione magazzino"
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr "Modifica Posizione"
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr "Rimuovi Posizione"
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Seleziona Articoli"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Specificare il quantitativo assegnato allo stock"
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)"
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Nessuna posizione di magazzino corrispondente"
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index cb23d87cc9..cf48802c09 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -128,7 +128,7 @@ msgstr "ファイルがありません"
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "添付ファイル"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "添付ファイルを選択"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
@@ -158,10 +158,10 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "ファイル名の変更に失敗しました"
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "お名前"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "お名前"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "説明 (オプション)"
msgid "parent"
msgstr "親"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
@@ -283,20 +283,20 @@ msgstr "ファイルに列が見つかりません"
msgid "No data rows found in file"
msgstr "ファイルにデータ行がみつかりません"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "データが入力されていません"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "データ列が指定されていません"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "必須の列がありません: {name}"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "{col} 列が重複しています。"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "作成日時"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr "パーツを割り当てるためにビルドする"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "アセンブリ"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "コンポーネント"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "購入可能"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "追跡可能"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "デバッグモード"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr "パーツ"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index a9bf8b4bf7..e0d9ca510d 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "첨부파일"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "외부 URL로 링크"
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "파일 이름 바꾸기 오류"
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "이름"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "이름"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "설명 (선택 사항)"
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "외부 링크"
@@ -855,10 +855,10 @@ msgstr "외부 링크"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "구입 가능"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "판매 가능"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "디버그 모드"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "페이지 크기"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "PDF 보고서 기본 페이지 크기"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "SSO 활성화"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "로그인 페이지에서 SSO 활성화"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "이메일 필요"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "두 번 보내기"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "파일 업로드"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "이미지"
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "URL에서 이미지 다운로드"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "신규 고객"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "새 회사"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "이미지 다운로드"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr "데이터"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr "작성자"
msgid "Version"
msgstr "버전"
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr "링크 추가"
msgid "Add Attachment"
msgstr "첨부파일 추가"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "서버 재시작 필요"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "선택"
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index de48081d74..aadac1bd4b 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -128,7 +128,7 @@ msgstr "Ontbrekend bestand"
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Bijlage"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Link naar externe URL"
@@ -158,10 +158,10 @@ msgstr "Opmerking"
msgid "File comment"
msgstr "Bestand opmerking"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Fout bij hernoemen bestand"
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Naam"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Naam"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Omschrijving (optioneel)"
msgid "parent"
msgstr "bovenliggende"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
@@ -283,20 +283,20 @@ msgstr "Geen kolommen gevonden in het bestand"
msgid "No data rows found in file"
msgstr "Geen data rijen gevonden in dit bestand"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Geen data rijen opgegeven"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Geen gegevenskolommen opgegeven"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Verplichte kolom ontbreekt: '{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dubbele kolom: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Productieopdracht Referentie"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Verkooporder waar deze productie aan is toegewezen"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Bronlocatie"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Productiestatuscode"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Batchcode"
@@ -799,7 +799,7 @@ msgstr "Batchcode"
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Aanmaakdatum"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -821,7 +821,7 @@ msgstr "Opleveringsdatum"
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Uitgegeven door"
@@ -832,9 +832,9 @@ msgstr "Gebruiker die de productie-opdracht heeft gegeven"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Verantwoordelijke"
@@ -845,7 +845,7 @@ msgstr "Gebruiker verantwoordelijk voor deze productieopdracht"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Externe Link"
@@ -855,10 +855,10 @@ msgstr "Externe Link"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Product"
@@ -927,7 +927,7 @@ msgstr "Product om onderdelen toe te wijzen"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Bron voorraadartikel"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Bron voorraadartikel"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr "Productieuitvoer"
@@ -1015,7 +1015,7 @@ msgstr "Voer hoeveelheid in voor productie uitvoer"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1059,7 +1059,7 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr "Locatie van voltooide productieuitvoeren"
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr "Productieorder heeft onvolledige uitvoeren"
msgid "No build outputs have been created for this build order"
msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder"
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1278,7 +1278,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieopdracht"
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr "Toegewezen Onderdelen"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Batch"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Gecreëerd"
@@ -1396,7 +1396,7 @@ msgstr "Onderliggende Productieorders"
msgid "Allocate Stock to Build"
msgstr "Voorraad toewijzen aan Product"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Voorraadtoewijzing ongedaan maken"
@@ -1551,7 +1551,7 @@ msgstr "Productieopdracht Details"
msgid "Completed Outputs"
msgstr "Voltooide Uitvoeren"
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Verwijder Productieopdracht"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Streepjescodescanner ondersteuning inschakelen"
#: common/models.py:846
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:847
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Duplicaat IPN toestaan"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Bewerken IPN toestaan"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr "Kopieer Onderdeel Stuklijstgegevens"
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel"
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr "Kopieer Onderdeel Parametergegevens"
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr "Kopieer Onderdeel Testdata"
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Kopiëer Categorieparameter Sjablonen"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Sjabloon"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Samenstelling"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Component"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Koopbaar"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Verkoopbaar"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Volgbaar"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtueel"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Onderdelen zijn standaard virtueel"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Toon Import in Weergaven"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Toon de importwizard in sommige onderdelenweergaven"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Toon Prijs in Formulieren"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Toon onderdeelprijs in sommige formulieren"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Prijs in Stuklijst Weergeven"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Prijsinformatie in Stuklijsttabellen opnemen"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Toon Prijsgeschiedenis"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr "Toon historische prijzen voor Onderdeel"
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Verwante onderdelen tonen"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr "Verwante onderdelen voor een onderdeel tonen"
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "Eerste voorraad aanmaken"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr "Aanmaken eerste voorraad bij het maken van onderdeel"
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Interne Prijzen"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "Inschakelen van interne prijzen voor onderdelen"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr "Interne Prijs als Stuklijst Prijs"
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen"
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr "Onderdelennaam Weergaveopmaak"
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr "Opmaak om de onderdeelnaam weer te geven"
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr "Activeer Rapportages"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr "Activeer het genereren van rapporten"
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "Standaard paginagrootte voor PDF rapporten"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Testrapporten"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "Activeer het genereren van testrapporten"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr "Batchcode Sjabloon"
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr "Verlopen Voorraad"
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr "Verkoop Verlopen Voorraad"
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr "Voorraad Vervaltijd"
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "dagen"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Afbeelding"
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Waarde"
@@ -2704,9 +2712,9 @@ msgstr "Waarde"
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Eenheden"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Nieuwe fabrikant"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Standaard locatie"
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Standaard locatie voor onderdelen in deze categorie"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Geen locatie ingesteld"
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "QR-code voor Voorraadlocatie"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "Specificeer een geldige locatie"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "Verwijder Voorraadlocatie"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr "Locatie is niet opgegeven"
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr "Geen actieve productieuitvoeren gevonden"
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Voorraadtoewijzing bewerken"
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Voorraadtoewijzing verwijderen"
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Toegewezen"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Voorraad toewijzen"
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Onderdelen selecteren"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Er moet op zijn minst één onderdeel toegewezen worden"
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)"
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index d657d48852..1a0988fd0f 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -128,7 +128,7 @@ msgstr "Fil mangler"
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Vedlegg"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Velg fil å legge ved"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
@@ -158,10 +158,10 @@ msgstr "Kommenter"
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Feil ved endring av navn"
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Navn"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Navn"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Beskrivelse (valgfritt)"
msgid "parent"
msgstr "overkategori"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
@@ -283,20 +283,20 @@ msgstr "Ingen kolonner funnet i filen"
msgid "No data rows found in file"
msgstr "Ingen datalader funnet i fil"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Ingen datalader oppgitt"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Ingen datakolonner angitt"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrevd kolonne: '{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dupliser kolonne: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Build order som denne build er tildelt til"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Build order som denne build er tildelt til"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Salgorder som denne build er tildelt til"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Kilde plassering"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Byggstatuskode"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Batch kode"
@@ -799,7 +799,7 @@ msgstr "Batch kode"
msgid "Batch code for this build output"
msgstr "Batch kode for denne build output"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Opprettelsesdato"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Fullført dato"
@@ -821,7 +821,7 @@ msgstr "Fullført dato"
msgid "completed by"
msgstr "fullført av"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Utstedt av"
@@ -832,9 +832,9 @@ msgstr "Brukeren som utstede denne prosjekt order"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Ansvarlig"
@@ -845,7 +845,7 @@ msgstr "Bruker ansvarlig for denne prosjekt order"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Ekstern link"
@@ -855,10 +855,10 @@ msgstr "Ekstern link"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Valgt lagevare ikke funnet i BOM"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Prosjekt"
@@ -927,7 +927,7 @@ msgstr "Bygge for å tildele deler"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Kilde lagervare"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Kilde lagervare"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Målets lagervare"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr "Angi antall for build utgang"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "BOM varer"
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr "Tildelte deler"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Opprettet"
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Fjern lager allokering"
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Aktiver skrekkodeleser støtte"
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Tilat duplisert IPN"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Tillat flere deler å dele samme IPN"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Tillat redigering av IPN"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Tillat å endre IPN-verdien mens du redigerer en del"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr "Kopier testdata som standard ved duplisering av en del"
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Mal"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Montering"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponent"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Salgbar"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Sporbar"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Deler er virtuelle som standard"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "Vis import i visninger"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "Vis importveiviseren i noen deler visninger"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Vis pris i skjemaer"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "Vis delpris i noen skjemaer"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr "Salgsorder referanse prefiks"
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr "Prefiks verdi for salgsorder referanse"
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr "Salgsorder referanse prefiks"
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr "Prefiks verdi for salgsorder referanse"
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukeren angi e-post ved registrering"
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO brukere"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr "Ved registrering spør brukere to ganger for e-posten"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr "Ved registrerting, spør brukere to ganger for passord"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering"
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr "Aktiver URL integrering"
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrering"
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr "Aktiver app integrasjon"
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr "Vis abbonerte deler"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr "Vis abbonerte deler på hjemmesiden"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Vis abbonerte kategorier"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abbonerte delkatekorier på hjemmesiden"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på hjemmesiden"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr "Antall nylig deler"
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte BOMs"
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis BOMs som venter validering på hjemmesiden"
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endret lagervarer på hjemmesiden"
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr "Siste lagertelling"
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr "Antall nylige lagervarer som skal vises på indeksside"
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr "Vis lav lager"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr "Vis lav lagervarer på hjemmesiden"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr "Vis tom lagervarer"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr "Vert"
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr "Tittel"
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Last opp fil"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Sammelign felter"
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Bilde"
@@ -2638,7 +2646,7 @@ msgstr "Valuta"
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Last ned bilde fra URL"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "Ny salgsorder"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr "Tildelt lagervare"
@@ -2996,7 +3004,7 @@ msgstr "Alle valgte leverandørdeler vil slettes"
msgid "Supplier List"
msgstr "Leverandørliste"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr "Tildelt lagervarer"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "Sjekk bekreftelsesboksen"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index bded378da5..6fa6a38cee 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -128,7 +128,7 @@ msgstr "Brak pliku"
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Załącznik"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -158,10 +158,10 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Błąd zmiany nazwy pliku"
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Nazwa"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Nazwa"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Opis (opcjonalny)"
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
@@ -283,20 +283,20 @@ msgstr "Nie znaleziono kolumn w pliku"
msgid "No data rows found in file"
msgstr "Nie znaleziono wierszy danych w pliku"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Nie podano wierszy danych"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Nie podano kolumn danych"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Brakuje wymaganej kolumny: '{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Zduplikowana kolumna: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Lokalizacja źródła"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Kod statusu budowania"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Kod partii"
@@ -799,7 +799,7 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Data utworzenia"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -821,7 +821,7 @@ msgstr "Data zakończenia"
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Wydany przez"
@@ -832,9 +832,9 @@ msgstr "Użytkownik, który wydał to zamówienie"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -845,7 +845,7 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -855,10 +855,10 @@ msgstr "Link Zewnętrzny"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Budowa"
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Partia"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Utworzony"
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr "Przydziel zapasy do budowy"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
#: common/models.py:846
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:847
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Szablon"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponent"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Pokaż cenę w BOM"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr "Dołącz informacje cenowe w tabelach BOM"
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Pokaż historię cen"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "Ceny wewnętrzne"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr "Włącz raporty"
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "dni"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr "Stały pasek nawigacyjny"
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Cena"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Wyślij plik"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr "Punkt kontaktowy"
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Obraz"
@@ -2638,7 +2646,7 @@ msgstr "Waluta"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Część bazowa"
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Wartość"
@@ -2704,9 +2712,9 @@ msgstr "Wartość"
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Jednostki"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Opakowanie"
@@ -2781,7 +2789,7 @@ msgstr "Opakowanie"
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr "wielokrotność"
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Pobierz obraz z adresu URL"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte"
msgid "Supplier List"
msgstr "Lista dostawców"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "Cennik"
msgid "Stock Items"
msgstr "Towary"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Nowy dostawca"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Now producent"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Klienci"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Nowy klient"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Firmy"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Nowa firma"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Pobierz obraz"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr "Odebrane"
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "Wybierz dostawcę części"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr "Oczekujące przesyłki"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr "Akcje"
@@ -3991,24 +3999,24 @@ msgstr "Akcje"
msgid "New Shipment"
msgstr "Nowa wysyłka"
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr "Nie znaleziono ceny"
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr "To pole jest wymagane"
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Domyślna lokalizacja"
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Kategorie części"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "Kategorie części"
msgid "Parts"
msgstr "Części"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)"
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Opis komponentu"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Wersja"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr "Dane"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "ID komponentu"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr "Nazwa komponentu"
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr "IPN komponentu"
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr "Poziom"
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5409,80 +5417,80 @@ msgstr "Nieznana baza danych"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "Ustaw kategorię części"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr "Żaden"
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr "Kod QR części"
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr "Wybierz obrazek części"
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr "Zaktualizowano zdjęcie części"
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr "Nie znaleziono obrazka części"
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr "Potwierdź usunięcie części"
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr "Część została usunięta"
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr "Cennik części"
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5508,7 +5516,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5718,9 +5726,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5732,12 +5740,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr "Wynik"
@@ -5779,237 +5787,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Właściciel"
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr "Wybierz właściciela"
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr "Nadrzędny towar"
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr "Zainstalowane w"
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr "Data ważności"
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})"
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr "Nazwa testu"
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6329,7 +6337,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Lokacje nie są ustawione"
@@ -6479,7 +6487,7 @@ msgstr ""
msgid "Child Items"
msgstr "Elementy podrzędne"
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6504,55 +6512,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr "Wróć do stanu magazynowego"
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr "Usuń wszystkie dane testowe"
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6687,7 +6695,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6840,8 +6848,8 @@ msgstr "Autor"
msgid "Version"
msgstr "Wersja"
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6945,28 +6953,32 @@ msgid "Edit Plugin Setting"
msgstr "Edytuj ustawienie wtyczki"
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr "Edytuj ustawienie globalne"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr "Edytuj ustawienie użytkownika"
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Nie znaleziono szablonów parametrów kategorii"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "Edytuj szablon"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "Usuń szablon"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
@@ -7511,15 +7523,15 @@ msgstr "Dodaj link"
msgid "Add Attachment"
msgstr "Dodaj załącznik"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr "Wymagane ponowne uruchomienie serwera"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr "Zmieniono opcję konfiguracji, która wymaga ponownego uruchomienia serwera"
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr "Skontaktuj się z administratorem systemu w celu uzyskania dalszych informacji"
@@ -7547,8 +7559,8 @@ msgstr "Wymagana ilość"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7875,24 +7887,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7932,7 +7944,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7940,7 +7952,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8066,166 +8078,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Przydzielono"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Wybierz części"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Wybierz"
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr "Brak informacji"
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 511ea23746..4ccc203086 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 22a6d652b4..e12d427f1d 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-02 23:27+0000\n"
+"POT-Creation-Date: 2022-05-07 23:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,9 +34,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -85,8 +84,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -120,7 +118,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -140,15 +138,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -161,12 +159,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -203,27 +201,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -231,14 +229,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -250,7 +248,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -422,7 +420,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -442,8 +440,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -523,7 +521,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -659,14 +657,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -674,7 +664,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -692,14 +682,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -717,12 +707,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -733,19 +722,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -761,8 +750,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -802,8 +791,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -811,12 +800,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -824,8 +813,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -833,7 +822,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -843,10 +832,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -855,8 +844,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -864,21 +853,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -886,81 +875,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -968,42 +956,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1027,9 +1014,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1041,10 +1029,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1060,7 +1047,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1068,17 +1055,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1087,12 +1074,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1101,108 +1088,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1229,7 +1232,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1273,13 +1275,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1306,14 +1308,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1323,19 +1325,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1352,8 +1350,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1367,19 +1365,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1399,7 +1397,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1429,8 +1427,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1554,11 +1552,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1599,856 +1593,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2456,79 +2442,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2568,7 +2554,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2578,7 +2564,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2594,7 +2580,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2603,7 +2589,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2615,7 +2601,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2644,7 +2630,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2653,18 +2639,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2673,139 +2659,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2824,61 +2809,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2890,20 +2875,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2911,7 +2895,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2989,7 +2973,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2998,13 +2982,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3013,83 +2997,87 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3111,8 +3099,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3126,66 +3115,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3197,7 +3190,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3217,56 +3210,56 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -3339,19 +3332,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3372,280 +3352,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3653,99 +3638,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3765,6 +3769,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3774,8 +3787,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3794,51 +3811,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3865,10 +3866,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3885,64 +3887,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3959,7 +3903,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3989,7 +3933,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4007,7 +3951,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4016,7 +3960,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4030,15 +3974,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4049,7 +3984,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4057,69 +3992,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4168,7 +4058,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4192,15 +4082,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4216,7 +4106,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4233,7 +4123,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4242,411 +4132,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4806,7 +4696,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4827,39 +4717,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5047,26 +4929,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5217,7 +5099,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5226,7 +5108,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5270,7 +5152,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5384,7 +5266,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5459,6 +5341,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5523,84 +5409,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5608,7 +5490,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5620,34 +5520,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5805,17 +5709,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5836,7 +5744,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5854,67 +5762,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6016,6 +5882,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6090,7 +5961,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6159,7 +6030,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6171,7 +6042,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6187,63 +6058,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6284,17 +6163,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6413,7 +6292,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6450,7 +6329,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6466,20 +6345,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6600,11 +6479,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6617,6 +6492,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6625,95 +6504,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6848,7 +6687,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7001,8 +6840,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -7093,41 +6932,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7418,7 +7257,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7428,10 +7267,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7671,15 +7510,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7707,8 +7546,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7743,11 +7582,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7759,27 +7598,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7791,11 +7630,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7847,89 +7686,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7946,12 +7785,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8035,24 +7874,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8092,7 +7931,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8100,7 +7939,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8108,267 +7947,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8388,7 +8244,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8502,61 +8358,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8577,7 +8433,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8630,62 +8486,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8710,19 +8566,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8742,280 +8599,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9099,6 +9037,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9192,8 +9134,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9201,75 +9143,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9351,340 +9293,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10202,34 +10164,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index ed9d6c1baa..5d5023541f 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -128,7 +128,7 @@ msgstr "Файл не найден"
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Вложения"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Выберите файл для вложения"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
@@ -158,10 +158,10 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Ошибка переименования файла"
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Название"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Название"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Описание (необязательно)"
msgid "parent"
msgstr "родитель"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
@@ -283,20 +283,20 @@ msgstr "Столбцы в файле не найдены"
msgid "No data rows found in file"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Повторяющийся столбец: '{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Ссылка на заказ"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Расположение источника"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Код статуса сборки"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Код партии"
@@ -799,7 +799,7 @@ msgstr "Код партии"
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Дата создания"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Дата завершения"
@@ -821,7 +821,7 @@ msgstr "Дата завершения"
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Выдал/ла"
@@ -832,9 +832,9 @@ msgstr "Пользователь, выпустивший этот заказ н
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Ответственный"
@@ -845,7 +845,7 @@ msgstr "Пользователь, ответственный за этот за
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -855,10 +855,10 @@ msgstr "Внешняя ссылка"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Выбранная единица хранения не найдена в BOM"
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Сборка"
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Исходный складской предмет"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Исходный складской предмет"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr "Введите количество для вывода сборки"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Партия"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Создано"
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Удалить заказ на сборку"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Разрешить повторяющиеся IPN"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "Разрешить редактирование IPN"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Шаблон"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Сборка"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Компонент"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Можно продавать"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Отслеживание"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Показывать цену в формах"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr "Показывать цену в BOM"
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr "Показывать историю цены"
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "Показывать связанные детали"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Режим отладки"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Цена"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Загрузить файл"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr "Контактное лицо"
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Изображение"
@@ -2638,7 +2646,7 @@ msgstr "Валюта"
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Базовая деталь"
@@ -2695,7 +2703,7 @@ msgstr "Наименование параметра"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Значение"
@@ -2704,9 +2712,9 @@ msgstr "Значение"
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Ед.изм"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Заметка"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Упаковка"
@@ -2781,7 +2789,7 @@ msgstr "Упаковка"
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "Скачать изображение по ссылке"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "Новый заказ на продажу"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr "Все выбранные детали поставщика будут
msgid "Supplier List"
msgstr "Список поставщиков"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr "Детали на складе"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Новый поставщик"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Новый производитель"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Покупатели"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Новый покупатель"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Компании"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Новая компания"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Скачать изображение"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "Выберите деталь поставщика"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr "Действия"
@@ -3991,24 +3999,24 @@ msgstr "Действия"
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr "Заказ на продажу не найден"
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr "Цена не найдена"
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Место хранения по умолчанию"
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Место хранения по умолчанию для деталей этой категории"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr "Ключевые слова по умолчанию"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr "Ключевые слова по умолчанию для деталей этой категории"
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr "Детали"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Разновидность"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Описание детали"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Ключевые слова"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Категория"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "Категория"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Версия"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Минимальный запас"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr "Заметки о детали (поддерживается разметка Markdown)"
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Артикул"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr "Наименование детали"
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr "IPN"
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr "Неизвестная база данных"
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "Укажите категорию"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr "Изображение детали не найдено"
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr "Деталь была удалена"
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr "Удалить категорию"
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr "Категория удалена"
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr "Включить уведомления по электронной по
msgid "Allow sending of emails for event notifications"
msgstr "Разрешить отправку уведомлений о событиях по электронной почте"
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr "Родительская единица хранения"
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr "Базовая деталь"
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Место хранения"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr "Код партии для этой единицы хранения"
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr "Исходная сборка"
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту единицу хранения при обнулении складского запаса"
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr "Заметки о единице хранения"
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr "Места хранения"
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr "Идентификатор"
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr "Изменить настройки плагинов"
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr "Изменить глобальные настройки"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr "Изменить настройки пользователя"
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Шаблоны параметров категории не найдены"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "Редактировать шаблон"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "Удалить шаблон"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr "Редактировать элемент BOM"
msgid "Delete BOM Item"
msgstr "Удалить элемент BOM"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr "Элементы BOM не найдены"
@@ -7935,7 +7947,7 @@ msgstr "Элементы BOM не найдены"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Вы уверены, что хотите удалить этот элемент BOM?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index b59e640385..7b635c3f61 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Bilaga"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Välj fil att bifoga"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Fel vid namnbyte av fil"
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Namn"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Namn"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Beskrivning (valfritt)"
msgid "parent"
msgstr "överordnad"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index f711635e28..81e3d47e7c 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:29\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr ""
@@ -821,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr ""
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 6b9950a94a..62ad38a600 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -128,7 +128,7 @@ msgstr "Eksik dosya"
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "Ek"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -158,10 +158,10 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "Dosya adı değiştirilirken hata"
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "Adı"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "Adı"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Açıklama (isteğe bağlı)"
msgid "parent"
msgstr "üst"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
@@ -283,20 +283,20 @@ msgstr "Dosyada kolon bulunamadı"
msgid "No data rows found in file"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr "Dosyada uygun kolon bulunamadı"
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Gerekli kolon ismi eksik:'{name}'"
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Tekrarlanan kolon ismi:'{col}'"
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Kaynak Konum"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "Yapım işi durum kodu"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Sıra numarası"
@@ -799,7 +799,7 @@ msgstr "Sıra numarası"
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -821,7 +821,7 @@ msgstr "Tamamlama tarihi"
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "Veren"
@@ -832,9 +832,9 @@ msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Sorumlu"
@@ -845,7 +845,7 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -855,10 +855,10 @@ msgstr "Harici Bağlantı"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "Yapım İşi"
@@ -927,7 +927,7 @@ msgstr "Yapım işi için tahsis edilen parçalar"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "Kaynak stok kalemi"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "Kaynak stok kalemi"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr "Hedef stok kalemi"
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr "Yapım işi çıktısı için miktarını girin"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr "Toplu"
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "Oluşturuldu"
@@ -1396,7 +1396,7 @@ msgstr "Alt Yapım İşi Emrileri"
msgid "Allocate Stock to Build"
msgstr "Yapım İşi için Stok Tahsis Et"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "Yapım İşi Emrini Sil"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "Barkod tarayıcı desteğini etkinleştir"
#: common/models.py:846
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/models.py:847
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Şablon"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Montaj"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Bileşen"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Satılabilir"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Sanal"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "Formlarda Fiyat Göster"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "Test Raporları"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "günler"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Dosya Yükle"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Alanları Eşleştir"
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "Resim"
@@ -2638,7 +2646,7 @@ msgstr "Para birimi"
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Temel Parça"
@@ -2695,7 +2703,7 @@ msgstr "Parametre adı"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Değer"
@@ -2704,9 +2712,9 @@ msgstr "Değer"
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Not"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Paketleme"
@@ -2781,7 +2789,7 @@ msgstr "Paketleme"
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr "çoklu"
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "Yeni Satış Emri"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr "Atanan Stok"
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "Fiyatlandırma"
msgid "Stock Items"
msgstr "Stok Kalemleri"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "Yeni Tedarikçi"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "Yeni Üretici"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "Müşteriler"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "Yeni Müşteri"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "Şirketler"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "Yeni Şirket"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "Resmi İndirin"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Geçersiz yanıt: {code}"
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Şablon için geçerli bir nesne sağlanmadı"
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "Tedarikçi Parçası Seçin"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr "İşlemler"
@@ -3991,24 +3999,24 @@ msgstr "İşlemler"
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Varsayılan Konum"
@@ -4093,30 +4101,30 @@ msgstr "Parametre şablonunu tüm kategorilere ekle"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "Parça Kategorileri"
msgid "Parts"
msgstr "Parçalar"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr "Sonraki kullanılabilir seri numaraları"
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr "Sonraki müsait seri numarası"
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr "En son seri numarası"
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "Parça açıklaması"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "DPN"
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr "Hiçbiri"
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr "Parça Parametre Şablonu Oluştur"
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr "Parça Parametre Şablonu Düzenle"
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr "Kategori Parametre Şablonu Oluştur"
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr "Kategori Parametre Şablonu Düzenle"
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr "Bu seri numarasına sahip stok kalemi zaten var"
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr "Bu stok kalemi için tedarikçi parçası seçin"
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seri numaraları zaten mevcut: {exists}"
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "Konum ayarlanmadı"
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
@@ -6502,55 +6510,55 @@ msgstr "Bu işlem kolayca geri alınamaz"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "Stok Konumu QR Kodu"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "Geçerli bir konum belirtiniz"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "Onay kutusunu işaretleyin"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "Şablonu Düzenle"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "Şablonu Sil"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr "Dosya Ekle"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr "Gerekli Parça"
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Parçaları Seçin"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 8df879ceaa..c85816af56 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -128,7 +128,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr ""
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr ""
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr ""
@@ -158,10 +158,10 @@ msgstr "Bình luận"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr ""
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "Mô tả (tùy chọn)"
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr ""
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr ""
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -799,7 +799,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "Ngày hoàn thành"
@@ -821,7 +821,7 @@ msgstr "Ngày hoàn thành"
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr ""
@@ -832,9 +832,9 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -845,7 +845,7 @@ msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr ""
@@ -855,10 +855,10 @@ msgstr ""
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr ""
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr ""
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr ""
@@ -1396,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr ""
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr ""
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr ""
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr ""
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr ""
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr ""
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr ""
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr ""
@@ -2638,7 +2646,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
@@ -2704,9 +2712,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
@@ -2781,7 +2789,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr ""
msgid "Stock Items"
msgstr ""
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr ""
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr ""
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr ""
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr ""
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr ""
msgid "Parts"
msgstr "Nguyên liệu"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr ""
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr ""
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr ""
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr ""
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr ""
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr ""
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr ""
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr ""
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr ""
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr ""
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr ""
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr ""
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr ""
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Kho hàng"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr ""
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr "Chỉnh sửa cài đặt toàn cục"
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr "Chỉnh sửa cài đặt người dùng"
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr ""
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr ""
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 2966c056e4..db753ef3f0 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-06 10:02+0000\n"
-"PO-Revision-Date: 2022-05-07 00:06\n"
+"POT-Creation-Date: 2022-05-10 04:16+0000\n"
+"PO-Revision-Date: 2022-05-11 00:28\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -128,7 +128,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:197 stock/models.py:2202
+#: InvenTree/models.py:197 stock/models.py:2205
#: templates/js/translated/attachment.js:119
msgid "Attachment"
msgstr "附件"
@@ -138,15 +138,15 @@ msgid "Select file to attach"
msgstr "选择附件"
#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
-#: company/models.py:561 order/models.py:132 part/models.py:868
+#: company/models.py:561 order/models.py:132 part/models.py:870
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
-#: stock/models.py:669
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:871
+#: stock/models.py:670
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -158,10 +158,10 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
-#: common/models.py:1536 common/models.py:1757 common/models.py:1758
-#: common/models.py:1987 common/models.py:1988 part/models.py:2369
-#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1542
+#: common/models.py:1543 common/models.py:1764 common/models.py:1765
+#: common/models.py:1994 common/models.py:1995 part/models.py:2371
+#: part/models.py:2391 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2518
msgid "User"
@@ -200,15 +200,15 @@ msgstr "重命名文件出错"
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
-#: company/models.py:412 label/models.py:112 part/models.py:812
-#: part/models.py:2553 plugin/models.py:41 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1750
+#: company/models.py:412 label/models.py:112 part/models.py:814
+#: part/models.py:2555 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:323
+#: templates/InvenTree/settings/settings.html:327
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
#: templates/js/translated/stock.js:2288
@@ -220,7 +220,7 @@ msgstr "名称"
#: company/models.py:567 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:837 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -228,7 +228,7 @@ msgstr "名称"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2408 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
@@ -247,7 +247,7 @@ msgstr "描述 (可选)"
msgid "parent"
msgstr "上级项"
-#: InvenTree/serializers.py:65 part/models.py:2886
+#: InvenTree/serializers.py:65 part/models.py:2888
msgid "Must be a valid number"
msgstr "必须是有效数字"
@@ -283,20 +283,20 @@ msgstr ""
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:533
+#: InvenTree/serializers.py:536
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:536
+#: InvenTree/serializers.py:539
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:623
+#: InvenTree/serializers.py:626
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:632
+#: InvenTree/serializers.py:635
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
@@ -682,11 +682,11 @@ msgid "Build Order Reference"
msgstr "相关生产订单"
#: build/models.py:201 order/models.py:237 order/models.py:589
-#: order/models.py:869 part/models.py:2797
+#: order/models.py:869 part/models.py:2799
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1794
#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
@@ -707,10 +707,10 @@ msgstr "此次生产匹配的订单"
#: build/models.py:227 build/templates/build/build_base.html:77
#: build/templates/build/detail.html:29 company/models.py:703
-#: order/models.py:968 order/models.py:1057 part/models.py:367
-#: part/models.py:2315 part/models.py:2331 part/models.py:2350
-#: part/models.py:2367 part/models.py:2469 part/models.py:2591
-#: part/models.py:2681 part/models.py:2772 part/models.py:3062
+#: order/models.py:968 order/models.py:1057 part/models.py:369
+#: part/models.py:2317 part/models.py:2333 part/models.py:2352
+#: part/models.py:2369 part/models.py:2471 part/models.py:2593
+#: part/models.py:2683 part/models.py:2774 part/models.py:3064
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -722,9 +722,9 @@ msgstr "此次生产匹配的订单"
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
-#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
-#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1158
+#: templates/js/translated/build.js:1664 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2413 templates/js/translated/company.js:492
#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
@@ -750,7 +750,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
#: build/models.py:249 build/serializers.py:794
-#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "来源地点"
@@ -791,7 +791,7 @@ msgid "Build status code"
msgstr "生产状态代码"
#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
-#: stock/models.py:673 templates/js/translated/order.js:1053
+#: stock/models.py:674 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "批量代码"
@@ -799,7 +799,7 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: build/models.py:294 order/models.py:134 part/models.py:1009
#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "创建日期"
@@ -813,7 +813,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
#: build/models.py:302 order/models.py:280
-#: templates/js/translated/build.js:2489
+#: templates/js/translated/build.js:2490
msgid "Completion Date"
msgstr "完成日期:"
@@ -821,7 +821,7 @@ msgstr "完成日期:"
msgid "completed by"
msgstr "完成人"
-#: build/models.py:316 templates/js/translated/build.js:2457
+#: build/models.py:316 templates/js/translated/build.js:2458
msgid "Issued by"
msgstr "发布者"
@@ -832,9 +832,9 @@ msgstr "发布此生产订单的用户"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
#: order/templates/order/order_base.html:176
-#: order/templates/order/sales_order_base.html:182 part/models.py:1011
+#: order/templates/order/sales_order_base.html:182 part/models.py:1013
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
+#: templates/js/translated/build.js:2470 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "责任人"
@@ -845,7 +845,7 @@ msgstr "负责此生产订单的用户"
#: build/models.py:331 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:132
-#: part/templates/part/part_base.html:346 stock/models.py:667
+#: part/templates/part/part_base.html:346 stock/models.py:668
#: stock/templates/stock/item_base.html:357
msgid "External Link"
msgstr "外部链接"
@@ -855,10 +855,10 @@ msgstr "外部链接"
#: company/models.py:574 company/templates/company/sidebar.html:25
#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:996
+#: order/templates/order/so_sidebar.html:17 part/models.py:998
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/models.py:741 stock/models.py:2105 stock/models.py:2211
#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
@@ -912,7 +912,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1376 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2386
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
@@ -927,7 +927,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
-#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/build.js:2102 templates/js/translated/build.js:2538
#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
@@ -942,11 +942,11 @@ msgstr "源库存项"
#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1568
+#: build/templates/build/detail.html:34 common/models.py:1575
#: company/forms.py:42 company/templates/company/supplier_part.html:258
#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
-#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/forms.py:142 part/forms.py:158 part/models.py:2790
#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
@@ -960,8 +960,8 @@ msgstr "源库存项"
#: stock/templates/stock/item_base.html:254
#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
-#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
-#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1180
+#: templates/js/translated/build.js:1690 templates/js/translated/build.js:2103
#: templates/js/translated/model_renderers.js:108
#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
@@ -989,7 +989,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:138 build/serializers.py:664
-#: templates/js/translated/build.js:1167
+#: templates/js/translated/build.js:1168
msgid "Build Output"
msgstr ""
@@ -1015,7 +1015,7 @@ msgstr "输入生产产出数量"
#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
-#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: part/serializers.py:1089 stock/models.py:508 stock/models.py:1312
#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1059,7 +1059,7 @@ msgstr ""
#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
#: templates/js/translated/barcode.js:436
#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
-#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/build.js:1702 templates/js/translated/order.js:1091
#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
@@ -1075,7 +1075,7 @@ msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
#: build/templates/build/detail.html:62 order/models.py:605
#: order/serializers.py:466 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2442
#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
@@ -1138,8 +1138,8 @@ msgstr ""
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
-#: part/models.py:3054
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2914
+#: part/models.py:3056
msgid "BOM Item"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/build.js:2482 templates/js/translated/order.js:1474
#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
@@ -1364,7 +1364,7 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1183
+#: templates/js/translated/build.js:1184
#: templates/js/translated/model_renderers.js:112
#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
#: templates/js/translated/stock.js:2611
@@ -1376,7 +1376,7 @@ msgstr ""
#: build/templates/build/detail.html:126
#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2449
+#: templates/js/translated/build.js:2450
msgid "Created"
msgstr "已创建"
@@ -1396,7 +1396,7 @@ msgstr "子生产订单"
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1916
msgid "Unallocate stock"
msgstr "未分配库存"
@@ -1551,7 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:81
+#: build/views.py:83
msgid "Delete Build Order"
msgstr "删除生产订单"
@@ -1693,747 +1693,755 @@ msgid "Enable barcode scanner support"
msgstr "启用条形码扫描支持"
#: common/models.py:846
-msgid "IPN Regex"
+msgid "Barcode Webcam Support"
msgstr ""
#: common/models.py:847
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:853
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:854
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:851
+#: common/models.py:858
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:852
+#: common/models.py:859
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:858
+#: common/models.py:865
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:859
+#: common/models.py:866
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:865
+#: common/models.py:872
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:873
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:872
+#: common/models.py:879
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:873
+#: common/models.py:880
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:879
+#: common/models.py:886
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:880
+#: common/models.py:887
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:886
+#: common/models.py:893
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:887
+#: common/models.py:894
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:893 part/models.py:2593 report/models.py:183
+#: common/models.py:900 part/models.py:2595 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "模板"
-#: common/models.py:894
+#: common/models.py:901
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
+#: common/models.py:907 part/models.py:961 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "组装"
-#: common/models.py:901
+#: common/models.py:908
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:907 part/models.py:965
+#: common/models.py:914 part/models.py:967
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "组件"
-#: common/models.py:908
+#: common/models.py:915
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:914 part/models.py:976
+#: common/models.py:921 part/models.py:978
msgid "Purchaseable"
msgstr "可购买"
-#: common/models.py:915
+#: common/models.py:922
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:921 part/models.py:981
+#: common/models.py:928 part/models.py:983
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "可销售"
-#: common/models.py:922
+#: common/models.py:929
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:928 part/models.py:971
+#: common/models.py:935 part/models.py:973
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "可追踪"
-#: common/models.py:929
+#: common/models.py:936
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:935 part/models.py:991
+#: common/models.py:942 part/models.py:993
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "虚拟"
-#: common/models.py:936
+#: common/models.py:943
msgid "Parts are virtual by default"
msgstr "商品默认是虚拟的"
-#: common/models.py:942
+#: common/models.py:949
msgid "Show Import in Views"
msgstr "视图中显示导入"
-#: common/models.py:943
+#: common/models.py:950
msgid "Display the import wizard in some part views"
msgstr "在一些商品视图中显示导入向导"
-#: common/models.py:949
+#: common/models.py:956
msgid "Show Price in Forms"
msgstr "在表格中显示价格"
-#: common/models.py:950
+#: common/models.py:957
msgid "Display part price in some forms"
msgstr "以某些表格显示商品价格"
-#: common/models.py:961
+#: common/models.py:968
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:962
+#: common/models.py:969
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:973
+#: common/models.py:980
msgid "Show Price History"
msgstr ""
-#: common/models.py:974
+#: common/models.py:981
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:980
+#: common/models.py:987
msgid "Show related parts"
msgstr "显示相关商品"
-#: common/models.py:981
+#: common/models.py:988
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:987
+#: common/models.py:994
msgid "Create initial stock"
msgstr "创建初始库存"
-#: common/models.py:988
+#: common/models.py:995
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:994
+#: common/models.py:1001
msgid "Internal Prices"
msgstr "内部价格"
-#: common/models.py:995
+#: common/models.py:1002
msgid "Enable internal prices for parts"
msgstr "启用内部商品价格"
-#: common/models.py:1001
+#: common/models.py:1008
msgid "Internal Price as BOM-Price"
msgstr "内部价格为BOM价格"
-#: common/models.py:1002
+#: common/models.py:1009
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "在 BOM价格计算中使用内部价格(如设置)"
-#: common/models.py:1008
+#: common/models.py:1015
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1016
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1023
msgid "Enable Reports"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1024
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:1023 templates/stats.html:25
+#: common/models.py:1030 templates/stats.html:25
msgid "Debug Mode"
msgstr "调试模式"
-#: common/models.py:1024
+#: common/models.py:1031
msgid "Generate reports in debug mode (HTML output)"
msgstr "在调试模式生成报告(HTML输出)"
-#: common/models.py:1030
+#: common/models.py:1037
msgid "Page Size"
msgstr "页面大小"
-#: common/models.py:1031
+#: common/models.py:1038
msgid "Default page size for PDF reports"
msgstr "PDF 报表默认页面大小"
-#: common/models.py:1041
+#: common/models.py:1048
msgid "Test Reports"
msgstr "测试报表"
-#: common/models.py:1042
+#: common/models.py:1049
msgid "Enable generation of test reports"
msgstr "启用生成测试报表"
-#: common/models.py:1048
+#: common/models.py:1055
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1056
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1061
msgid "Stock Expiry"
msgstr "库存到期"
-#: common/models.py:1055
+#: common/models.py:1062
msgid "Enable stock expiry functionality"
msgstr "启用库存到期功能"
-#: common/models.py:1061
+#: common/models.py:1068
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/models.py:1062
+#: common/models.py:1069
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/models.py:1068
+#: common/models.py:1075
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1076
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1078
msgid "days"
msgstr "天"
-#: common/models.py:1076
+#: common/models.py:1083
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1084
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1090
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:1084
+#: common/models.py:1091
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1097
msgid "Build Order Reference Prefix"
msgstr "生产订单参考前缀"
-#: common/models.py:1091
+#: common/models.py:1098
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1103
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1104
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1101
+#: common/models.py:1108
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1102
+#: common/models.py:1109
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1114
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1115
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1114
+#: common/models.py:1121
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1122
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1121
+#: common/models.py:1128
msgid "Enable registration"
msgstr ""
-#: common/models.py:1122
+#: common/models.py:1129
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1128
+#: common/models.py:1135
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1129
+#: common/models.py:1136
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1135
+#: common/models.py:1142
msgid "Email required"
msgstr ""
-#: common/models.py:1136
+#: common/models.py:1143
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1142
+#: common/models.py:1149
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1143
+#: common/models.py:1150
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1149
+#: common/models.py:1156
msgid "Mail twice"
msgstr ""
-#: common/models.py:1150
+#: common/models.py:1157
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1156
+#: common/models.py:1163
msgid "Password twice"
msgstr ""
-#: common/models.py:1157
+#: common/models.py:1164
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1163
+#: common/models.py:1170
msgid "Group on signup"
msgstr ""
-#: common/models.py:1164
+#: common/models.py:1171
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1170
+#: common/models.py:1177
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1171
+#: common/models.py:1178
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1177
+#: common/models.py:1184
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1185
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1193
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1187
+#: common/models.py:1194
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1194
+#: common/models.py:1201
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1195
+#: common/models.py:1202
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1202
+#: common/models.py:1209
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1203
+#: common/models.py:1210
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1210
+#: common/models.py:1217
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1211
+#: common/models.py:1218
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1218
+#: common/models.py:1225
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1226
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1234 common/models.py:1528
+#: common/models.py:1241 common/models.py:1535
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1265
+#: common/models.py:1272
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1266
+#: common/models.py:1273
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1279
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1273
+#: common/models.py:1280
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1286
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:1280
+#: common/models.py:1287
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:1286
+#: common/models.py:1293
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1287
+#: common/models.py:1294
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1300
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1294
+#: common/models.py:1301
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1307
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1301
+#: common/models.py:1308
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1314
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1308
+#: common/models.py:1315
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1321
msgid "Show low stock"
msgstr ""
-#: common/models.py:1315
+#: common/models.py:1322
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1328
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1322
+#: common/models.py:1329
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1335
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1329
+#: common/models.py:1336
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1342
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1336
+#: common/models.py:1343
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1349
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1350
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1349
+#: common/models.py:1356
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1357
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1356
+#: common/models.py:1363
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:1357
+#: common/models.py:1364
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:1363
+#: common/models.py:1370
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1364
+#: common/models.py:1371
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1370
+#: common/models.py:1377
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1371
+#: common/models.py:1378
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1377
+#: common/models.py:1384
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1378
+#: common/models.py:1385
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1384
+#: common/models.py:1391
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1385
+#: common/models.py:1392
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1390
+#: common/models.py:1397
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1391
+#: common/models.py:1398
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1397
+#: common/models.py:1404
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1398
+#: common/models.py:1405
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1404
+#: common/models.py:1411
msgid "Inline report display"
msgstr ""
-#: common/models.py:1405
+#: common/models.py:1412
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1411
+#: common/models.py:1418
msgid "Search Parts"
msgstr ""
-#: common/models.py:1412
+#: common/models.py:1419
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1418
+#: common/models.py:1425
msgid "Search Categories"
msgstr ""
-#: common/models.py:1419
+#: common/models.py:1426
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1432
msgid "Search Stock"
msgstr ""
-#: common/models.py:1426
+#: common/models.py:1433
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1439
msgid "Search Locations"
msgstr ""
-#: common/models.py:1433
+#: common/models.py:1440
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1446
msgid "Search Companies"
msgstr ""
-#: common/models.py:1440
+#: common/models.py:1447
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1453
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1447
+#: common/models.py:1454
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1460
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1454
+#: common/models.py:1461
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1467
msgid "Search Preview Results"
msgstr "搜索预览结果"
-#: common/models.py:1461
+#: common/models.py:1468
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1474
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1468
+#: common/models.py:1475
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1481
msgid "Show Quantity in Forms"
msgstr "在表格中显示数量"
-#: common/models.py:1475
+#: common/models.py:1482
msgid "Display available part quantity in some forms"
msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:1481
+#: common/models.py:1488
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1482
+#: common/models.py:1489
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1495
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1489
+#: common/models.py:1496
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1502
msgid "Date Format"
msgstr ""
-#: common/models.py:1496
+#: common/models.py:1503
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1510 part/templates/part/detail.html:39
+#: common/models.py:1517 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1511
+#: common/models.py:1518
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1569 company/forms.py:43
+#: common/models.py:1576 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1576 company/serializers.py:264
+#: common/models.py:1583 company/serializers.py:264
#: company/templates/company/supplier_part.html:263 order/models.py:902
#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "价格"
-#: common/models.py:1577
+#: common/models.py:1584
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1734 common/models.py:1873
+#: common/models.py:1741 common/models.py:1880
msgid "Endpoint"
msgstr ""
-#: common/models.py:1735
+#: common/models.py:1742
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1744
+#: common/models.py:1751
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1749 part/models.py:986 plugin/models.py:47
+#: common/models.py:1756 part/models.py:988 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2441,79 +2449,79 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1750
+#: common/models.py:1757
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1764
+#: common/models.py:1771
msgid "Token"
msgstr ""
-#: common/models.py:1765
+#: common/models.py:1772
msgid "Token for access"
msgstr ""
-#: common/models.py:1772
+#: common/models.py:1779
msgid "Secret"
msgstr ""
-#: common/models.py:1773
+#: common/models.py:1780
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1840
+#: common/models.py:1847
msgid "Message ID"
msgstr ""
-#: common/models.py:1841
+#: common/models.py:1848
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1849
+#: common/models.py:1856
msgid "Host"
msgstr ""
-#: common/models.py:1850
+#: common/models.py:1857
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1857
+#: common/models.py:1864
msgid "Header"
msgstr ""
-#: common/models.py:1858
+#: common/models.py:1865
msgid "Header of this message"
msgstr ""
-#: common/models.py:1864
+#: common/models.py:1871
msgid "Body"
msgstr ""
-#: common/models.py:1865
+#: common/models.py:1872
msgid "Body of this message"
msgstr ""
-#: common/models.py:1874
+#: common/models.py:1881
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1879
+#: common/models.py:1886
msgid "Worked on"
msgstr ""
-#: common/models.py:1880
+#: common/models.py:1887
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:120 part/views.py:206
+#: order/views.py:122 part/views.py:208
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "上传文件"
-#: common/views.py:94 order/views.py:121
+#: common/views.py:94 order/views.py:123
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:209 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "匹配字段"
@@ -2600,7 +2608,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:139 part/models.py:878
+#: company/models.py:139 part/models.py:880
msgid "Image"
msgstr "图片"
@@ -2638,7 +2646,7 @@ msgstr "货币"
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:317 company/models.py:532 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:612
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
@@ -2695,7 +2703,7 @@ msgstr "参数名称"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2195 templates/js/translated/company.js:647
+#: stock/models.py:2198 templates/js/translated/company.js:647
#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "数值"
@@ -2704,9 +2712,9 @@ msgstr "数值"
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:426 part/models.py:953 part/models.py:2561
+#: company/models.py:426 part/models.py:955 part/models.py:2563
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:328
+#: templates/InvenTree/settings/settings.html:332
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "单位"
@@ -2757,22 +2765,22 @@ msgid "Supplier part description"
msgstr "供应商商品描述"
#: company/models.py:573 company/templates/company/supplier_part.html:125
-#: part/models.py:2800 part/templates/part/upload_bom.html:59
+#: part/models.py:2802 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "备注"
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "base cost"
msgstr ""
-#: company/models.py:577 part/models.py:1871
+#: company/models.py:577 part/models.py:1873
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
#: company/models.py:579 company/templates/company/supplier_part.html:118
-#: stock/models.py:635 stock/templates/stock/item_base.html:322
+#: stock/models.py:636 stock/templates/stock/item_base.html:322
#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "打包"
@@ -2781,7 +2789,7 @@ msgstr "打包"
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:581 part/models.py:1873
+#: company/models.py:581 part/models.py:1875
msgid "multiple"
msgstr ""
@@ -2845,8 +2853,8 @@ msgid "Download image from URL"
msgstr "从 URL 下载图片"
#: company/templates/company/company_base.html:86 order/models.py:600
-#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:725
+#: order/templates/order/sales_order_base.html:115 stock/models.py:655
+#: stock/models.py:656 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
#: templates/js/translated/stock.js:2436
@@ -2972,7 +2980,7 @@ msgid "New Sales Order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1674
+#: templates/js/translated/build.js:1675
msgid "Assigned Stock"
msgstr ""
@@ -2996,7 +3004,7 @@ msgstr "删除所有选定的供应商商品"
msgid "Supplier List"
msgstr "供应商列表"
-#: company/templates/company/manufacturer_part.html:15 company/views.py:55
+#: company/templates/company/manufacturer_part.html:15 company/views.py:56
#: part/templates/part/prices.html:170 templates/InvenTree/search.html:178
#: templates/navbar.html:49
msgid "Manufacturers"
@@ -3029,7 +3037,7 @@ msgid "No manufacturer information available"
msgstr ""
#: company/templates/company/manufacturer_part.html:120
-#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: company/templates/company/supplier_part.html:15 company/views.py:50
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
@@ -3097,7 +3105,7 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:619
+#: company/templates/company/supplier_part.html:24 stock/models.py:620
#: stock/templates/stock/item_base.html:390
#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
#: templates/js/translated/stock.js:1875
@@ -3220,49 +3228,49 @@ msgstr "定价"
msgid "Stock Items"
msgstr "库存项"
-#: company/views.py:50
+#: company/views.py:51
msgid "New Supplier"
msgstr "新增供应商"
-#: company/views.py:56
+#: company/views.py:57
msgid "New Manufacturer"
msgstr "新建制造商"
-#: company/views.py:61 templates/InvenTree/search.html:208
+#: company/views.py:62 templates/InvenTree/search.html:208
#: templates/navbar.html:60
msgid "Customers"
msgstr "客户信息"
-#: company/views.py:62
+#: company/views.py:63
msgid "New Customer"
msgstr "新建客户"
-#: company/views.py:69 templates/js/translated/search.js:159
+#: company/views.py:70 templates/js/translated/search.js:159
msgid "Companies"
msgstr "公司"
-#: company/views.py:70
+#: company/views.py:71
msgid "New Company"
msgstr "新建公司信息"
-#: company/views.py:129 part/views.py:591
+#: company/views.py:130 part/views.py:593
msgid "Download Image"
msgstr "下载图片"
-#: company/views.py:158 part/views.py:623
+#: company/views.py:159 part/views.py:625
msgid "Image size exceeds maximum allowable size for download"
msgstr "图像大小超过下载允许的最大尺寸"
-#: company/views.py:165 part/views.py:630
+#: company/views.py:166 part/views.py:632
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "无效响应: {code}"
-#: company/views.py:174 part/views.py:639
+#: company/views.py:175 part/views.py:641
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
-#: label/api.py:97 report/api.py:203
+#: label/api.py:96 report/api.py:203
msgid "No valid objects provided to template"
msgstr "没有为模板提供有效对象"
@@ -3513,7 +3521,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:750
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
@@ -3866,7 +3874,7 @@ msgstr "选择供应商商品"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
-#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1989
#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
#: templates/js/translated/stock.js:738
@@ -3983,7 +3991,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1897
msgid "Actions"
msgstr ""
@@ -3991,24 +3999,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:122
+#: order/views.py:124
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:395
+#: order/views.py:397
msgid "Sales order not found"
msgstr ""
-#: order/views.py:401
+#: order/views.py:403
msgid "Price not found"
msgstr ""
-#: order/views.py:404
+#: order/views.py:406
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:409
+#: order/views.py:411
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4057,7 +4065,7 @@ msgstr "指定初始初始商品仓储地点"
msgid "This field is required"
msgstr "此字段为必填"
-#: part/bom.py:125 part/models.py:112 part/models.py:887
+#: part/bom.py:125 part/models.py:114 part/models.py:889
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "默认仓储地点"
@@ -4093,30 +4101,30 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:113
+#: part/models.py:115
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords"
msgstr ""
-#: part/models.py:116
+#: part/models.py:118
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
+#: part/models.py:128 part/models.py:2639 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
-#: part/models.py:127 part/templates/part/category.html:128
+#: part/models.py:129 part/templates/part/category.html:128
#: templates/InvenTree/search.html:95 templates/js/translated/search.js:113
#: users/models.py:40
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:368 part/templates/part/cat_link.html:3
+#: part/models.py:370 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:17 part/templates/part/category.html:133
#: part/templates/part/category.html:153
#: part/templates/part/category_sidebar.html:9
@@ -4127,415 +4135,415 @@ msgstr "商品类别"
msgid "Parts"
msgstr "商品"
-#: part/models.py:460
+#: part/models.py:462
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:535 part/models.py:547
+#: part/models.py:537 part/models.py:549
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:677
+#: part/models.py:679
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:681
+#: part/models.py:683
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:686
+#: part/models.py:688
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:782
+#: part/models.py:784
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:811 part/models.py:2690
+#: part/models.py:813 part/models.py:2692
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:818
+#: part/models.py:820
msgid "Is Template"
msgstr ""
-#: part/models.py:819
+#: part/models.py:821
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:831
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:830
+#: part/models.py:832
msgid "Variant Of"
msgstr ""
-#: part/models.py:836
+#: part/models.py:838
msgid "Part description"
msgstr "商品描述"
-#: part/models.py:841 part/templates/part/category.html:86
+#: part/models.py:843 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "关键词"
-#: part/models.py:842
+#: part/models.py:844
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:849 part/models.py:2387 part/models.py:2636
+#: part/models.py:851 part/models.py:2389 part/models.py:2638
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:231
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "类别"
-#: part/models.py:850
+#: part/models.py:852
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:855 part/templates/part/part_base.html:266
+#: part/models.py:857 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:856
+#: part/models.py:858
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:862
+#: part/models.py:864
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:863 part/templates/part/part_base.html:273
+#: part/models.py:865 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:885
+#: part/models.py:887
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:932 part/templates/part/part_base.html:339
+#: part/models.py:934 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:933
+#: part/models.py:935
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:940
+#: part/models.py:942
msgid "Default Expiry"
msgstr ""
-#: part/models.py:941
+#: part/models.py:943
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:946 part/templates/part/part_base.html:200
+#: part/models.py:948 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/models.py:947
+#: part/models.py:949
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:954
+#: part/models.py:956
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:960
+#: part/models.py:962
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:979
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:984
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:987
+#: part/models.py:989
msgid "Is this part active?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:994
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1000
+#: part/models.py:1002
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1003
+#: part/models.py:1005
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1007
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1011
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1873
+#: part/models.py:1875
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2437
+#: part/models.py:2439
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2454
+#: part/models.py:2456
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2474 templates/js/translated/part.js:1819
+#: part/models.py:2476 templates/js/translated/part.js:1819
#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2475
+#: part/models.py:2477
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2482
msgid "Test Description"
msgstr ""
-#: part/models.py:2481
+#: part/models.py:2483
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2486 templates/js/translated/part.js:1828
+#: part/models.py:2488 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2487
+#: part/models.py:2489
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2492 templates/js/translated/part.js:1836
+#: part/models.py:2494 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2493
+#: part/models.py:2495
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2498 templates/js/translated/part.js:1843
+#: part/models.py:2500 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2499
+#: part/models.py:2501
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2510
+#: part/models.py:2512
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2546
+#: part/models.py:2548
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2554
+#: part/models.py:2556
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2561
+#: part/models.py:2563
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2591
+#: part/models.py:2593
msgid "Parent Part"
msgstr ""
-#: part/models.py:2593 part/models.py:2642 part/models.py:2643
-#: templates/InvenTree/settings/settings.html:222
+#: part/models.py:2595 part/models.py:2644 part/models.py:2645
+#: templates/InvenTree/settings/settings.html:226
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Data"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2597
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
+#: part/models.py:2649 templates/InvenTree/settings/settings.html:235
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:2648
+#: part/models.py:2650
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2682
+#: part/models.py:2684
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2685 templates/js/translated/model_renderers.js:200
+#: part/models.py:2687 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "商品ID"
-#: part/models.py:2686
+#: part/models.py:2688
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:2691
msgid "Part Name"
msgstr ""
-#: part/models.py:2693
+#: part/models.py:2695
msgid "Part IPN"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2696
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2697
+#: part/models.py:2699
msgid "Level"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2700
msgid "BOM level"
msgstr ""
-#: part/models.py:2773
+#: part/models.py:2775
msgid "Select parent part"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2783
msgid "Sub part"
msgstr ""
-#: part/models.py:2782
+#: part/models.py:2784
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2788
+#: part/models.py:2790
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2790 part/templates/part/upload_bom.html:58
+#: part/models.py:2792 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "可选项"
-#: part/models.py:2790
+#: part/models.py:2792
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2793 part/templates/part/upload_bom.html:55
+#: part/models.py:2795 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2794
+#: part/models.py:2796
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2797
+#: part/models.py:2799
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2800
+#: part/models.py:2802
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "Checksum"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2804
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2806 part/templates/part/upload_bom.html:57
+#: part/models.py:2808 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:2807
+#: part/models.py:2809
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2812 part/templates/part/upload_bom.html:56
+#: part/models.py:2814 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2813
+#: part/models.py:2815
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2898 stock/models.py:497
+#: part/models.py:2900 stock/models.py:498
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2907 part/models.py:2909
+#: part/models.py:2909 part/models.py:2911
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3021
+#: part/models.py:3023
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3043
+#: part/models.py:3045
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3055
+#: part/models.py:3057
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3063
+#: part/models.py:3065
msgid "Substitute part"
msgstr ""
-#: part/models.py:3074
+#: part/models.py:3076
msgid "Part 1"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Part 2"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3080
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3110
+#: part/models.py:3112
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -5407,80 +5415,80 @@ msgstr ""
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:86
+#: part/views.py:88
msgid "Set Part Category"
msgstr "设置商品类别"
-#: part/views.py:136
+#: part/views.py:138
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "为 {n} 个商品设置类别"
-#: part/views.py:208
+#: part/views.py:210
msgid "Match References"
msgstr ""
-#: part/views.py:509
+#: part/views.py:511
msgid "None"
msgstr ""
-#: part/views.py:568
+#: part/views.py:570
msgid "Part QR Code"
msgstr "商品二维码"
-#: part/views.py:670
+#: part/views.py:672
msgid "Select Part Image"
msgstr "选择商品图像"
-#: part/views.py:696
+#: part/views.py:698
msgid "Updated part image"
msgstr "更新商品图像"
-#: part/views.py:699
+#: part/views.py:701
msgid "Part image not found"
msgstr "未找到商品图像"
-#: part/views.py:787
+#: part/views.py:789
msgid "Confirm Part Deletion"
msgstr "确认删除商品"
-#: part/views.py:794
+#: part/views.py:796
msgid "Part was deleted"
msgstr "商品已删除"
-#: part/views.py:803
+#: part/views.py:805
msgid "Part Pricing"
msgstr "商品价格"
-#: part/views.py:952
+#: part/views.py:954
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:962
+#: part/views.py:964
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:969
+#: part/views.py:971
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1011
+#: part/views.py:1013
msgid "Delete Part Category"
msgstr "删除商品类别"
-#: part/views.py:1017
+#: part/views.py:1019
msgid "Part category was deleted"
msgstr "商品类别已删除"
-#: part/views.py:1026
+#: part/views.py:1028
msgid "Create Category Parameter Template"
msgstr "创建类别参数模板"
-#: part/views.py:1127
+#: part/views.py:1129
msgid "Edit Category Parameter Template"
msgstr "编辑类别参数模板"
-#: part/views.py:1183
+#: part/views.py:1185
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
@@ -5506,7 +5514,7 @@ msgstr ""
msgid "Allow sending of emails for event notifications"
msgstr ""
-#: plugin/events.py:222
+#: plugin/events.py:226
msgid "Label printing failed"
msgstr ""
@@ -5716,9 +5724,9 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:659 stock/templates/stock/item_base.html:156
+#: stock/models.py:660 stock/templates/stock/item_base.html:156
#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
-#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
+#: templates/js/translated/build.js:1178 templates/js/translated/build.js:1688
#: templates/js/translated/model_renderers.js:106
#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
@@ -5730,12 +5738,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2183
+#: stock/models.py:2186
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2189
+#: stock/models.py:2192
msgid "Result"
msgstr ""
@@ -5777,237 +5785,237 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:93 stock/models.py:754
+#: stock/models.py:94 stock/models.py:755
#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
-#: stock/models.py:94 stock/models.py:755
+#: stock/models.py:95 stock/models.py:756
msgid "Select Owner"
msgstr ""
-#: stock/models.py:470
+#: stock/models.py:471
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:514
+#: stock/models.py:515
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:524 stock/models.py:533
+#: stock/models.py:525 stock/models.py:534
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:526
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:548
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:553
+#: stock/models.py:554
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:561
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:604
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:612
+#: stock/models.py:613
msgid "Base part"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:621
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:626 stock/templates/stock/location.html:16
+#: stock/models.py:627 stock/templates/stock/location.html:16
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "仓储地点"
-#: stock/models.py:629
+#: stock/models.py:630
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:636
+#: stock/models.py:637
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:642 stock/templates/stock/item_base.html:282
+#: stock/models.py:643 stock/templates/stock/item_base.html:282
msgid "Installed In"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:646
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:662
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:675
+#: stock/models.py:676
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:681
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:690
msgid "Source Build"
msgstr ""
-#: stock/models.py:691
+#: stock/models.py:692
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:703
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:706
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:711
+#: stock/models.py:712
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: stock/models.py:718 stock/templates/stock/item_base.html:193
#: templates/js/translated/stock.js:1822
msgid "Expiry Date"
msgstr ""
-#: stock/models.py:718
+#: stock/models.py:719
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:731
+#: stock/models.py:732
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:741 stock/templates/stock/item.html:137
+#: stock/models.py:742 stock/templates/stock/item.html:137
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:750
+#: stock/models.py:751
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:782
+#: stock/models.py:783
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1302
+#: stock/models.py:1303
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1308
+#: stock/models.py:1309
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1314
+#: stock/models.py:1315
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1317
+#: stock/models.py:1318
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1320
+#: stock/models.py:1321
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1327
+#: stock/models.py:1328
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1398
+#: stock/models.py:1399
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1401
+#: stock/models.py:1402
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1404
+#: stock/models.py:1405
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1407
+#: stock/models.py:1408
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1410
+#: stock/models.py:1411
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1413
+#: stock/models.py:1414
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:874
+#: stock/models.py:1421 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1424
+#: stock/models.py:1425
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1428
+#: stock/models.py:1429
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1432
+#: stock/models.py:1433
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1604
+#: stock/models.py:1605
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2103
+#: stock/models.py:2106
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2160
+#: stock/models.py:2163
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2166
+#: stock/models.py:2169
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2184
+#: stock/models.py:2187
msgid "Test name"
msgstr ""
-#: stock/models.py:2190
+#: stock/models.py:2193
msgid "Test result"
msgstr ""
-#: stock/models.py:2196
+#: stock/models.py:2199
msgid "Test output value"
msgstr ""
-#: stock/models.py:2203
+#: stock/models.py:2206
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2209
+#: stock/models.py:2212
msgid "Test notes"
msgstr ""
@@ -6327,7 +6335,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1709
+#: templates/js/translated/build.js:1710
msgid "No location set"
msgstr "未设置仓储地点"
@@ -6477,7 +6485,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:230
msgid "Convert Stock Item"
msgstr ""
@@ -6502,55 +6510,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:126
+#: stock/views.py:128
msgid "Stock Location QR code"
msgstr "仓储地点二维码"
-#: stock/views.py:145
+#: stock/views.py:147
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:154
+#: stock/views.py:156
msgid "Specify a valid location"
msgstr "指定一个有效仓储地点"
-#: stock/views.py:165
+#: stock/views.py:167
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:176
+#: stock/views.py:178
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:193
+#: stock/views.py:195
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:194
+#: stock/views.py:196
msgid "Check the confirmation box"
msgstr "选中确认框"
-#: stock/views.py:209
+#: stock/views.py:211
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:265
+#: stock/views.py:267
msgid "Delete Stock Location"
msgstr "删除仓储地点"
-#: stock/views.py:278
+#: stock/views.py:280
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:289
+#: stock/views.py:291
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:296
+#: stock/views.py:298
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:305
+#: stock/views.py:307
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6685,7 +6693,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:317
+#: templates/InvenTree/settings/settings.html:321
msgid "ID"
msgstr ""
@@ -6838,8 +6846,8 @@ msgstr ""
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:82
-msgid "code sample"
+#: templates/InvenTree/settings/plugin.html:74
+msgid "Sample"
msgstr ""
#: templates/InvenTree/settings/plugin.html:99
@@ -6943,28 +6951,32 @@ msgid "Edit Plugin Setting"
msgstr ""
#: templates/InvenTree/settings/settings.html:121
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:123
+#: templates/InvenTree/settings/settings.html:126
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:212
+#: templates/InvenTree/settings/settings.html:216
msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
-#: templates/InvenTree/settings/settings.html:234
-#: templates/InvenTree/settings/settings.html:333
+#: templates/InvenTree/settings/settings.html:238
+#: templates/InvenTree/settings/settings.html:337
msgid "Edit Template"
msgstr "编辑模板"
-#: templates/InvenTree/settings/settings.html:235
-#: templates/InvenTree/settings/settings.html:334
+#: templates/InvenTree/settings/settings.html:239
+#: templates/InvenTree/settings/settings.html:338
msgid "Delete Template"
msgstr "删除模板"
-#: templates/InvenTree/settings/settings.html:313
+#: templates/InvenTree/settings/settings.html:317
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
@@ -7506,15 +7518,15 @@ msgstr ""
msgid "Add Attachment"
msgstr "添加附件"
-#: templates/base.html:99
+#: templates/base.html:100
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
-#: templates/base.html:102
+#: templates/base.html:103
msgid "Contact your system administrator for further information"
msgstr ""
@@ -7542,8 +7554,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
-#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1804
+#: templates/js/translated/build.js:2545 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7870,24 +7882,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1786
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1831
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1835
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1837
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1839
msgid "Includes substitute stock"
msgstr ""
@@ -7927,7 +7939,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1632
msgid "No BOM items found"
msgstr ""
@@ -7935,7 +7947,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1770
msgid "Required Part"
msgstr ""
@@ -8061,166 +8073,166 @@ msgstr ""
msgid "Location not specified"
msgstr "未指定仓储地点"
-#: templates/js/translated/build.js:1137
+#: templates/js/translated/build.js:1138
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1206
+#: templates/js/translated/build.js:1207
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1213
+#: templates/js/translated/build.js:1214
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1235
+#: templates/js/translated/build.js:1236
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1241
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2556
#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/build.js:1729 templates/js/translated/build.js:2557
#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1746
+#: templates/js/translated/build.js:1747
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1756
+#: templates/js/translated/build.js:1757
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1781
+#: templates/js/translated/build.js:1782
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1798
+#: templates/js/translated/build.js:1799
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1824
+#: templates/js/translated/build.js:1825
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1826
+#: templates/js/translated/build.js:1827
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
-#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:1856 templates/js/translated/build.js:2101
+#: templates/js/translated/build.js:2552 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
+#: templates/js/translated/build.js:1904 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1907 templates/stock_table.html:50
+#: templates/js/translated/build.js:1908 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
+#: templates/js/translated/build.js:1911 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/build.js:1950 templates/js/translated/label.js:172
#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
+#: templates/js/translated/build.js:1951 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2073
+#: templates/js/translated/build.js:2074
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2074
+#: templates/js/translated/build.js:2075
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2116
+#: templates/js/translated/build.js:2117
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
+#: templates/js/translated/build.js:2128 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
+#: templates/js/translated/build.js:2200 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2296
+#: templates/js/translated/build.js:2297
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2297
+#: templates/js/translated/build.js:2298
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2299
+#: templates/js/translated/build.js:2300
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2300
+#: templates/js/translated/build.js:2301
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2301
+#: templates/js/translated/build.js:2302
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2322
+#: templates/js/translated/build.js:2323
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2362
+#: templates/js/translated/build.js:2363
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/build.js:2380 templates/js/translated/part.js:1314
#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2399
+#: templates/js/translated/build.js:2400
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2427
+#: templates/js/translated/build.js:2428
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
+#: templates/js/translated/build.js:2464 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:2475
+#: templates/js/translated/build.js:2476
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2532
+#: templates/js/translated/build.js:2533
msgid "No parts allocated for"
msgstr ""
diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py
index de2616b772..492da8f5de 100644
--- a/InvenTree/part/models.py
+++ b/InvenTree/part/models.py
@@ -49,6 +49,8 @@ from InvenTree import validators
from InvenTree.models import InvenTreeTree, InvenTreeAttachment, DataImportMixin
from InvenTree.fields import InvenTreeURLField
from InvenTree.helpers import decimal2string, normalize, decimal2money
+
+import InvenTree.ready
import InvenTree.tasks
from InvenTree.status_codes import BuildStatus, PurchaseOrderStatus, SalesOrderStatus
@@ -2292,7 +2294,7 @@ def after_save_part(sender, instance: Part, created, **kwargs):
Function to be executed after a Part is saved
"""
- if not created:
+ if not created and not InvenTree.ready.isImportingData():
# Check part stock only if we are *updating* the part (not creating it)
# Run this check in the background
diff --git a/InvenTree/barcodes/api.py b/InvenTree/plugin/barcode.py
similarity index 97%
rename from InvenTree/barcodes/api.py
rename to InvenTree/plugin/barcode.py
index f36e4b1703..98b111f073 100644
--- a/InvenTree/barcodes/api.py
+++ b/InvenTree/plugin/barcode.py
@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
-
-from django.urls import reverse
-from django.urls import path, re_path
+from django.urls import reverse, path, re_path
from django.utils.translation import gettext_lazy as _
from rest_framework.exceptions import ValidationError
@@ -12,8 +10,8 @@ from rest_framework.views import APIView
from stock.models import StockItem
from stock.serializers import StockItemSerializer
-from barcodes.plugins.inventree_barcode import InvenTreeBarcodePlugin
-from barcodes.barcode import hash_barcode
+from plugin.builtin.barcodes.inventree_barcode import InvenTreeBarcodePlugin
+from plugin.builtin.barcodes.mixins import hash_barcode
from plugin import registry
diff --git a/InvenTree/plugin/builtin/barcode/__init__.py b/InvenTree/plugin/builtin/barcode/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/InvenTree/barcodes/__init__.py b/InvenTree/plugin/builtin/barcodes/__init__.py
similarity index 100%
rename from InvenTree/barcodes/__init__.py
rename to InvenTree/plugin/builtin/barcodes/__init__.py
diff --git a/InvenTree/barcodes/plugins/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py
similarity index 90%
rename from InvenTree/barcodes/plugins/inventree_barcode.py
rename to InvenTree/plugin/builtin/barcodes/inventree_barcode.py
index 5df71cb776..939bf12c08 100644
--- a/InvenTree/barcodes/plugins/inventree_barcode.py
+++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py
@@ -13,7 +13,8 @@ references model objects actually exist in the database.
import json
-from barcodes.barcode import BarcodePlugin
+from plugin import IntegrationPluginBase
+from plugin.mixins import BarcodeMixin
from stock.models import StockItem, StockLocation
from part.models import Part
@@ -21,7 +22,7 @@ from part.models import Part
from rest_framework.exceptions import ValidationError
-class InvenTreeBarcodePlugin(BarcodePlugin):
+class InvenTreeBarcodePlugin(BarcodeMixin, IntegrationPluginBase):
PLUGIN_NAME = "InvenTreeBarcode"
@@ -83,7 +84,7 @@ class InvenTreeBarcodePlugin(BarcodePlugin):
item = StockItem.objects.get(pk=pk)
return item
except (ValueError, StockItem.DoesNotExist): # pragma: no cover
- raise ValidationError({k, "Stock item does not exist"})
+ raise ValidationError({k: "Stock item does not exist"})
return None
@@ -111,7 +112,7 @@ class InvenTreeBarcodePlugin(BarcodePlugin):
loc = StockLocation.objects.get(pk=pk)
return loc
except (ValueError, StockLocation.DoesNotExist): # pragma: no cover
- raise ValidationError({k, "Stock location does not exist"})
+ raise ValidationError({k: "Stock location does not exist"})
return None
@@ -132,12 +133,12 @@ class InvenTreeBarcodePlugin(BarcodePlugin):
try:
pk = self.data[k]['id']
except (AttributeError, KeyError):
- raise ValidationError({k, 'id parameter not supplied'})
+ raise ValidationError({k: 'id parameter not supplied'})
try:
part = Part.objects.get(pk=pk)
return part
except (ValueError, Part.DoesNotExist): # pragma: no cover
- raise ValidationError({k, 'Part does not exist'})
+ raise ValidationError({k: 'Part does not exist'})
return None
diff --git a/InvenTree/plugin/builtin/barcode/mixins.py b/InvenTree/plugin/builtin/barcodes/mixins.py
similarity index 100%
rename from InvenTree/plugin/builtin/barcode/mixins.py
rename to InvenTree/plugin/builtin/barcodes/mixins.py
diff --git a/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py
new file mode 100644
index 0000000000..1424d89ff2
--- /dev/null
+++ b/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+"""Unit tests for InvenTreeBarcodePlugin"""
+
+from django.contrib.auth import get_user_model
+from django.urls import reverse
+
+from rest_framework.test import APITestCase
+from rest_framework import status
+
+
+class TestInvenTreeBarcode(APITestCase):
+
+ fixtures = [
+ 'category',
+ 'part',
+ 'location',
+ 'stock'
+ ]
+
+ def setUp(self):
+ # Create a user for auth
+ user = get_user_model()
+ user.objects.create_user('testuser', 'test@testing.com', 'password')
+
+ self.client.login(username='testuser', password='password')
+
+ def test_errors(self):
+ """
+ Test all possible error cases for assigment action
+ """
+
+ def test_assert_error(barcode_data):
+ response = self.client.post(
+ reverse('api-barcode-link'), format='json',
+ data={
+ 'barcode': barcode_data,
+ 'stockitem': 521
+ }
+ )
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertIn('error', response.data)
+
+ # test with already existing stock
+ test_assert_error('{"stockitem": 521}')
+
+ # test with already existing stock location
+ test_assert_error('{"stocklocation": 7}')
+
+ # test with already existing part location
+ test_assert_error('{"part": 10004}')
+
+ # test with hash
+ test_assert_error('{"blbla": 10004}')
+
+ def test_scan(self):
+ """
+ Test that a barcode can be scanned
+ """
+
+ response = self.client.post(reverse('api-barcode-scan'), format='json', data={'barcode': 'blbla=10004'})
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertIn('success', response.data)
diff --git a/InvenTree/plugin/events.py b/InvenTree/plugin/events.py
index b54581bf71..043f3b97a3 100644
--- a/InvenTree/plugin/events.py
+++ b/InvenTree/plugin/events.py
@@ -17,7 +17,7 @@ from django.dispatch.dispatcher import receiver
from common.models import InvenTreeSetting
import common.notifications
-from InvenTree.ready import canAppAccessDatabase
+from InvenTree.ready import canAppAccessDatabase, isImportingData
from InvenTree.tasks import offload_task
from plugin.registry import registry
@@ -113,6 +113,10 @@ def allow_table_event(table_name):
We *do not* want events to be fired for some tables!
"""
+ if isImportingData():
+ # Prevent table events during the data import process
+ return False
+
table_name = table_name.lower().strip()
# Ignore any tables which start with these prefixes
diff --git a/InvenTree/plugin/mixins/__init__.py b/InvenTree/plugin/mixins/__init__.py
index fdbe863e19..97d27b48fc 100644
--- a/InvenTree/plugin/mixins/__init__.py
+++ b/InvenTree/plugin/mixins/__init__.py
@@ -7,7 +7,7 @@ from ..builtin.integration.mixins import APICallMixin, AppMixin, LabelPrintingMi
from common.notifications import SingleNotificationMethod, BulkNotificationMethod
from ..builtin.action.mixins import ActionMixin
-from ..builtin.barcode.mixins import BarcodeMixin
+from ..builtin.barcodes.mixins import BarcodeMixin
__all__ = [
'APICallMixin',
diff --git a/InvenTree/plugin/samples/integration/templates/panel_demo/childless.html b/InvenTree/plugin/samples/integration/templates/panel_demo/childless.html
index 061dcc514d..b74ce094b7 100644
--- a/InvenTree/plugin/samples/integration/templates/panel_demo/childless.html
+++ b/InvenTree/plugin/samples/integration/templates/panel_demo/childless.html
@@ -6,6 +6,6 @@
This location has no sublocations!
- - Location Name: {{ location.name }}
- - Location Path: {{ location.pathstring }}
+ - Location Name: {{ location.name }}
+ - Location Path: {{ location.pathstring }}
diff --git a/InvenTree/barcodes/tests.py b/InvenTree/plugin/test_barcode.py
similarity index 79%
rename from InvenTree/barcodes/tests.py
rename to InvenTree/plugin/test_barcode.py
index 18d4e77d20..43a713a57b 100644
--- a/InvenTree/barcodes/tests.py
+++ b/InvenTree/plugin/test_barcode.py
@@ -86,6 +86,22 @@ class BarcodeAPITest(APITestCase):
self.assertIn('barcode_data', response.data)
self.assertEqual(response.data['part']['pk'], 1)
+ def test_invalid_part(self):
+ """Test response for invalid part"""
+ response = self.client.post(
+ self.scan_url,
+ {
+ 'barcode': {
+ 'part': 999999999,
+ }
+ },
+ format='json'
+ )
+
+ self.assertEqual(response.status_code, 400)
+
+ self.assertEqual(response.data['part'], 'Part does not exist')
+
def test_find_stock_item(self):
"""
Test that we can lookup a stock item based on ID
@@ -106,6 +122,23 @@ class BarcodeAPITest(APITestCase):
self.assertIn('barcode_data', response.data)
self.assertEqual(response.data['stockitem']['pk'], 1)
+ def test_invalid_item(self):
+ """Test response for invalid stock item"""
+
+ response = self.client.post(
+ self.scan_url,
+ {
+ 'barcode': {
+ 'stockitem': 999999999,
+ }
+ },
+ format='json'
+ )
+
+ self.assertEqual(response.status_code, 400)
+
+ self.assertEqual(response.data['stockitem'], 'Stock item does not exist')
+
def test_find_location(self):
"""
Test that we can lookup a stock location based on ID
@@ -126,6 +159,23 @@ class BarcodeAPITest(APITestCase):
self.assertIn('barcode_data', response.data)
self.assertEqual(response.data['stocklocation']['pk'], 1)
+ def test_invalid_location(self):
+ """Test response for an invalid location"""
+
+ response = self.client.post(
+ self.scan_url,
+ {
+ 'barcode': {
+ 'stocklocation': 999999999,
+ }
+ },
+ format='json'
+ )
+
+ self.assertEqual(response.status_code, 400)
+
+ self.assertEqual(response.data['stocklocation'], 'Stock location does not exist')
+
def test_integer_barcode(self):
response = self.postBarcode(self.scan_url, '123456789')
@@ -214,57 +264,3 @@ class BarcodeAPITest(APITestCase):
self.assertIn('error', data)
self.assertNotIn('success', data)
-
-
-class TestInvenTreeBarcode(APITestCase):
-
- fixtures = [
- 'category',
- 'part',
- 'location',
- 'stock'
- ]
-
- def setUp(self):
- # Create a user for auth
- user = get_user_model()
- user.objects.create_user('testuser', 'test@testing.com', 'password')
-
- self.client.login(username='testuser', password='password')
-
- def test_errors(self):
- """
- Test all possible error cases for assigment action
- """
-
- def test_assert_error(barcode_data):
- response = self.client.post(
- reverse('api-barcode-link'), format='json',
- data={
- 'barcode': barcode_data,
- 'stockitem': 521
- }
- )
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertIn('error', response.data)
-
- # test with already existing stock
- test_assert_error('{"stockitem": 521}')
-
- # test with already existing stock location
- test_assert_error('{"stocklocation": 7}')
-
- # test with already existing part location
- test_assert_error('{"part": 10004}')
-
- # test with hash
- test_assert_error('{"blbla": 10004}')
-
- def test_scan(self):
- """
- Test that a barcode can be scanned
- """
-
- response = self.client.post(reverse('api-barcode-scan'), format='json', data={'barcode': 'blbla=10004'})
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertIn('success', response.data)
diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py
index 040b748521..53e1321e1a 100644
--- a/InvenTree/stock/models.py
+++ b/InvenTree/stock/models.py
@@ -30,7 +30,8 @@ from mptt.managers import TreeManager
from decimal import Decimal, InvalidOperation
from datetime import datetime, timedelta
-from InvenTree import helpers
+import InvenTree.helpers
+import InvenTree.ready
import InvenTree.tasks
import common.models
@@ -137,7 +138,7 @@ class StockLocation(InvenTreeTree):
def format_barcode(self, **kwargs):
""" Return a JSON string for formatting a barcode for this StockLocation object """
- return helpers.MakeBarcode(
+ return InvenTree.helpers.MakeBarcode(
'stocklocation',
self.pk,
{
@@ -577,7 +578,7 @@ class StockItem(MPTTModel):
Voltagile data (e.g. stock quantity) should be looked up using the InvenTree API (as it may change)
"""
- return helpers.MakeBarcode(
+ return InvenTree.helpers.MakeBarcode(
"stockitem",
self.id,
{
@@ -1775,7 +1776,7 @@ class StockItem(MPTTModel):
sn=self.serial)
else:
s = '{n} x {part}'.format(
- n=helpers.decimal2string(self.quantity),
+ n=InvenTree.helpers.decimal2string(self.quantity),
part=self.part.full_name)
if self.location:
@@ -1783,7 +1784,7 @@ class StockItem(MPTTModel):
if self.purchase_order:
s += " ({pre}{po})".format(
- pre=helpers.getSetting("PURCHASEORDER_REFERENCE_PREFIX"),
+ pre=InvenTree.helpers.getSetting("PURCHASEORDER_REFERENCE_PREFIX"),
po=self.purchase_order,
)
@@ -1851,7 +1852,7 @@ class StockItem(MPTTModel):
result_map = {}
for result in results:
- key = helpers.generateTestKey(result.test)
+ key = InvenTree.helpers.generateTestKey(result.test)
result_map[key] = result
# Do we wish to "cascade" and include test results from installed stock items?
@@ -1898,7 +1899,7 @@ class StockItem(MPTTModel):
failed = 0
for test in required:
- key = helpers.generateTestKey(test.test_name)
+ key = InvenTree.helpers.generateTestKey(test.test_name)
if key in results:
result = results[key]
@@ -1949,7 +1950,7 @@ class StockItem(MPTTModel):
# Attempt to validate report filter (skip if invalid)
try:
- filters = helpers.validateFilterString(test_report.filters)
+ filters = InvenTree.helpers.validateFilterString(test_report.filters)
if item_query.filter(**filters).exists():
reports.append(test_report)
except (ValidationError, FieldError):
@@ -1977,7 +1978,7 @@ class StockItem(MPTTModel):
for lbl in label.models.StockItemLabel.objects.filter(enabled=True):
try:
- filters = helpers.validateFilterString(lbl.filters)
+ filters = InvenTree.helpers.validateFilterString(lbl.filters)
if item_query.filter(**filters).exists():
labels.append(lbl)
@@ -2016,8 +2017,9 @@ def after_delete_stock_item(sender, instance: StockItem, **kwargs):
Function to be executed after a StockItem object is deleted
"""
- # Run this check in the background
- InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part)
+ if not InvenTree.ready.isImportingData():
+ # Run this check in the background
+ InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part)
@receiver(post_save, sender=StockItem, dispatch_uid='stock_item_post_save_log')
@@ -2026,8 +2028,9 @@ def after_save_stock_item(sender, instance: StockItem, created, **kwargs):
Hook function to be executed after StockItem object is saved/updated
"""
- # Run this check in the background
- InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part)
+ if not InvenTree.ready.isImportingData():
+ # Run this check in the background
+ InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part)
class StockItemAttachment(InvenTreeAttachment):
@@ -2170,7 +2173,7 @@ class StockItemTestResult(models.Model):
@property
def key(self):
- return helpers.generateTestKey(self.test)
+ return InvenTree.helpers.generateTestKey(self.test)
stock_item = models.ForeignKey(
StockItem,
diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js
index a636cfeec8..94c2780a28 100644
--- a/InvenTree/templates/js/translated/build.js
+++ b/InvenTree/templates/js/translated/build.js
@@ -1056,6 +1056,7 @@ function loadBuildOutputTable(build_info, options={}) {
'{% url "api-stock-test-result-list" %}',
{
build: build_info.pk,
+ ordering: '-date',
},
{
success: function(results) {
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 63535bd83d..cefd2c2b61 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -95,6 +95,9 @@ RUN echo "Downloading InvenTree from ${INVENTREE_GIT_REPO}"
RUN git clone --branch ${INVENTREE_GIT_BRANCH} --depth 1 ${INVENTREE_GIT_REPO} ${INVENTREE_HOME}
+# Ref: https://github.blog/2022-04-12-git-security-vulnerability-announced/
+RUN git config --global --add safe.directory ${INVENTREE_HOME}
+
# Checkout against a particular git tag
RUN if [ -n "${INVENTREE_GIT_TAG}" ] ; then cd ${INVENTREE_HOME} && git fetch --all --tags && git checkout tags/${INVENTREE_GIT_TAG} -b v${INVENTREE_GIT_TAG}-branch ; fi